Increase timeout for disabling recurring run in Cypress test

https://issues.redhat.com/browse/RHOAIENG-16871
Description

a flaky test has been occurring in pipeline recurring runs table
Pipeline runs - Schedules - with data - can disable a recurring run: timed out waiting `5000ms` for the 1st request to the route: `disableRecurringRun`. No request ever occurred.

There is nothing wrong with the test but on occasion it will timeout waiting for the post call. I have increased that timeout.
How Has This Been Tested?

tests pass
Test Impact

updates test timeout
Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change.

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

/approve


ERROR AFTER FORMATTING SQL

Lets say I have this SQL query, when I run it, as it is, works fine!!
SELECT ID FROM CUSTOMER WHERE EMAIL LIKE :email;

Then when i resolve to format the query (Ctrl + Alt + F), as below, It shows me error "SQL Error [1008] [72000]: ORA-01008: not all variables bound"
SELECT
	ID
FROM
	CUSTOMER
WHERE
	EMAIL LIKE:email;

This is an error with the junction of "LIKE" and ":email" if a add a space between than it works just fine!
I was not able to find a configuration for this any where.
SQL Formatting configuration:

DBeaver Version:

Thanks for report


AgentEval Blogpost

Why are these changes needed?

PR for blogpost for the announcement of the AgentEval integration into AutoGen.
Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Could you fix the formatting error reported in CI? Thanks.

Should be fixed

Could you clarify what conversation pattern is used in the AgentEval implementation? For example, does it use sequential chats? Does it use nested chats? cc @qingyun-wu

I added a short sentence under "How to use AgentEval" about using sequential chats.


Update dependencies

This is all the dependencies I'm comfortable upgrading at once.
Note that using the new babel-core has no effect on the resulting Babelified output.

Coverage remained the same at 95.787% when pulling 8b0da9a6fd6c868bc4fee07b374275ad922193f7 on rhoggSugarcrm:update-deps into 07bebf4d01c3a56377c01831c30f2c839d2cc700 on sugarcrm:master.

Coverage remained the same at 95.787% when pulling 6fe8a3f032a9e97df2d47966b6f5ec1982d809d4 on rhoggSugarcrm:update-deps into 07bebf4d01c3a56377c01831c30f2c839d2cc700 on sugarcrm:master.

Coverage remained the same at 95.787% when pulling 88624ec46d241f4e8ce51e63631f4b4e5dcc2b2b on rhoggSugarcrm:update-deps into b473fd5a4910c5782341b04b085eeac2da09b68f on sugarcrm:master.

Coverage remained the same at 95.787% when pulling f4db0768b5c36136416a698f828c07df162139f5 on rhoggSugarcrm:update-deps into b473fd5a4910c5782341b04b085eeac2da09b68f on sugarcrm:master.


Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Describe the bug
All I did was to upgrade Visual Studio from 16.2.something to 16.3.2. My entire ecosystem is ruined. I never knew that a simple upgrade in the SemVer's backward compatible number (minor version, second number from the left) could make this much of breaking changes, while it has to be stable and break nowhere at all.
Now when I'm trying to run my APIs, I get this nasty error:

Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

To Reproduce
It's so vague to me, that I can't even understand why it happens.  So please upgrade your VS from 16.2.X to 16.3.2.
Expected behavior
Upgrade of minor versions should be smooth and break nothing.
Additional context
C:\>dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.0.100
 Commit:    04339c3a26

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18362
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.0.100\

Host (useful for support):
  Version: 3.0.0
  Commit:  7d57652f33

.NET Core SDKs installed:
  2.1.802 [C:\Program Files\dotnet\sdk]
  2.2.402 [C:\Program Files\dotnet\sdk]
  3.0.100 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

C:\>

Thanks for contacting us, @nefcanto.
This feedback is quite generic and not actionable as is. Can you share your project file here?


Enabled support of I915_SAMPLE_WAIT, I915_SAMPLE_SEMA PMU in metrics_…

…monitor
Signed-off-by: Dmitry Ermilov<EMAIL_ADDRESS>

@dvrogozh , can you please review?


Go rewrite

Rewrite server in Go.
Thanks, @diamondburned!

Testing the Netlify deployment, I encountered the following error:
index.html:1 Access to fetch at 'https://deploy-preview-1--deluxe-manatee-ee476f.netlify.app/' from origin 'http://<IP_ADDRESS>:5500' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

To resolve this error message, the appropriate HTTP headers must be sent back in the server's response.


ERROR: to use other evaluation criteria, labels must be +1/-1

Hi,
After adding the plug-in "eval.h" and "eval.cpp" used in crossvalidation with different criteria (AUC, F-score, etc.), there is an error when running "svm-predict" with heart_scale (the example data file):
ERROR: to use other evaluation criteria, labels must be +1/-1

I'm wondering what is the problem. Any help is appreciated. Thanks!

Did you also copy the new Makefile and rebuild the file?
I can run it without problem:
$ make
g++ -Wall -Wconversion -O3 -fPIC -c eval.cpp -o eval.o
g++ -Wall -Wconversion -O3 -fPIC svm-train.c svm.o eval.o -o svm-train
-lm
g++ -Wall -Wconversion -O3 -fPIC svm-predict.c svm.o eval.o -o
svm-predict -lm
$ ./svm-train heart_scale
*
optimization finished, #iter = 162
nu = 0.431029
obj = -100.877288, rho = 0.424462
nSV = 132, nBSV = 107
Total nSV = 132
$ ./svm-predict  heart_scale heart_scale.model o
Accuracy = 86.6667% (234/270) (classification)
On 2022-04-20 03:13, vincentjytsai-nycu wrote:

Hi,
After adding the plug-in "eval.h" and "eval.cpp" used in
crossvalidation with different criteria (AUC, F-score, etc.), there is
an error when running "svm-predict" with heart_scale (the example data
file):
ERROR: to use other evaluation criteria, labels must be +1/-1
[1]
I'm wondering what is the problem. Any help is appreciated. Thanks!
--
Reply to this email directly, view it on GitHub [2], or unsubscribe
[3].
You are receiving this because you are subscribed to this
thread.Message ID: @.> [ {
@.": "http://schema.org", @.": "EmailMessage",
"potentialAction": { @.": "ViewAction", "target":
"https://github.com/cjlin1/libsvm/issues/183", "url":
"https://github.com/cjlin1/libsvm/issues/183", "name": "View Issue" },
"description": "View this Issue on GitHub", "publisher": { @.***":
"Organization", "name": "GitHub", "url": "https://github.com" } } ]
Links:
[1]
https://user-images.githubusercontent.com/89758515/164078427-6aca693f-3556-4c54-90c6-b072a4c3eaac.png
[2] https://github.com/cjlin1/libsvm/issues/183
[3]
https://github.com/notifications/unsubscribe-auth/ABI3BHXCDGRGK32TBRCKBDLVF4AVPANCNFSM5TZZJCKQ

I indeed copied the new Makefile and recompile the code. But the situation remains the same......

Did you exactly follow what I did? Please show me the full log of what
you did
On 2022-04-20 05:47, vincentjytsai-nycu wrote:

I indeed copied the new Makefile and recompile the code. But the
situation remains the same......
[1]
--
Reply to this email directly, view it on GitHub [2], or unsubscribe
[3].
You are receiving this because you commented.Message ID:
@.> [ { @.":
"http://schema.org", @.": "EmailMessage", "potentialAction": {
@.": "ViewAction", "target":
"https://github.com/cjlin1/libsvm/issues/183#issuecomment-1103204165",
"url":
"https://github.com/cjlin1/libsvm/issues/183#issuecomment-1103204165",
"name": "View Issue" }, "description": "View this Issue on GitHub",
"publisher": { @.***": "Organization", "name": "GitHub", "url":
"https://github.com" } } ]
Links:
[1]
https://user-images.githubusercontent.com/89758515/164107271-b76d1657-4102-4c8b-981b-c4f49b8f2be2.png
[2] https://github.com/cjlin1/libsvm/issues/183#issuecomment-1103204165
[3]
https://github.com/notifications/unsubscribe-auth/ABI3BHRGGZEFV3EFFQC6XV3VF4SY5ANCNFSM5TZZJCKQ

I have updated the Makefile as the instruction says.

I have modified svm-train.cpp and svm-predict following the instruction. The header file "eval.h" is also included.

Then I compiled the code and executed the commands as you did, but the error still occurs......

I see. This line
if (labels[j] != 1 && labels[j] == -1)
should be
if (labels[j] != 1 && labels[j] != -1)
I have updated the file. Please download it again. Thanks for pointing
out the problem
On 2022-04-20 06:08, vincentjytsai-nycu wrote:

I have updated the Makefile as the instruction says.
[1]
*
I have modified svm-train.cpp and svm-predict following the
instruction. The header file "eval.h" is also included.
[2]
[3]
*
Then I compiled the code and executed the commands as you did, but the
error still occurs......
[4]
--
Reply to this email directly, view it on GitHub [5], or unsubscribe
[6].
You are receiving this because you commented.Message ID:
@.> [ { @.":
"http://schema.org", @.": "EmailMessage", "potentialAction": {
@.": "ViewAction", "target":
"https://github.com/cjlin1/libsvm/issues/183#issuecomment-1103216370",
"url":
"https://github.com/cjlin1/libsvm/issues/183#issuecomment-1103216370",
"name": "View Issue" }, "description": "View this Issue on GitHub",
"publisher": { @.***": "Organization", "name": "GitHub", "url":
"https://github.com" } } ]
Links:
[1]
https://user-images.githubusercontent.com/89758515/164108703-146f60fd-44b2-4e66-935a-b0dcce9e2f03.png
[2]
https://user-images.githubusercontent.com/89758515/164109296-e034cc45-255f-4d73-9b5d-a74da105c0ca.png
[3]
https://user-images.githubusercontent.com/89758515/164109408-78a5536e-a676-499d-9e61-b1bfbdd85fd9.png
[4]
https://user-images.githubusercontent.com/89758515/164109761-c5eb6f89-6adb-4a23-83e7-16863c3f09ba.png
[5] https://github.com/cjlin1/libsvm/issues/183#issuecomment-1103216370
[6]
https://github.com/notifications/unsubscribe-auth/ABI3BHQ4V5SOQC65S7DFOJTVF4VFLANCNFSM5TZZJCKQ

Thanks. The result can be successfully printed out after updating eval.cpp.


Support phases and optional dependencies

This is a complete rewrite and resolves #2.
It should get released as v2.0.0 because there are breaking changes and it requires next.js v5.1.x as it depends on features introduced in this version.

Supports phases

Plugins can only be added in specific phases or excluded from phases
Configuration can get overwritten for specific phases

Adds an optional helper to only load a plugin in a specific phase
Plugins can specify by their own in which phases they should get loaded

@cyrilwanner Is it possible to use optional with env variable check?
For example include bundle analyzer only if process.env.ANALYZE === 'true'


Store more job details to the job_instance table

Store more job details: playbook/module name, ruleset name, action, hosts and inventory to the job_instance table for the purpose of debug or job rerun.
Resolves: AAP-5081
Depends: https://github.com/ansible/ansible-rulebook/pull/166

@benthomasson @cutwater can you review this? thanks


Regression: Browsers without "ApplicationName" are unsupported

Problem
Internet Explorer doesn't have an "ApplicationName" value in the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Capabilities

Solution
The tool needs to figure out where to get the display name from so it will be supported once more.
The documentation says

If this data is not provided by the application, the name of the executable program that is associated with the first registered ProgID for the application is used in the UI.

Grab the first association for the registered application
Look up the progid of the association (eg HKEY_LOCAL_MACHINE\SOFTWARE\Classes\IE.FTP)
Look up the command of the progid (eg HKEY_LOCAL_MACHINE\SOFTWARE\Classes\IE.FTP\shell\open\command)
Extract the exe name from the command
Extract the name from the exe

Fixed in 94b4e11be198415564fc3b4ec2a3a869d88c5bd5.


Allow customizing page orientation

The various settings related to the page setup are defined in document
sections settings: http://officeopenxml.com/WPsection.php. Surprisingly,
even though Microsoft documentation explicitly states that setting the
orientation to landscape switches the dimensions (i.e. setting height to
20 and width to 40, while using landscape means that the height would
equal 40), my tests didn't show any such behavior. Additionally, not
specifying the page size makes Word ignore the page orientation setting,
so I needed to add default page size.
Initially, I precompiled the template using Browserify transformation
(https://github.com/zertosh/jstify), but I couldn't find a way to make
it work also for Node.js. So I opted for the simple solution of
pre-compiling the templates at the very beginning of the build process.
It means that src/templates/template.tpl is then available for
require as src/templates/template.
Test plan:
Use the provided 'test/sample.html' to export the document in portrait
and landscape orientations, using the radio buttons on the bottom.

is it possible to switch  page-orientation? some pages landscape and some portrait?


Add self-update command to PHAR

What about adding a self-update command to the phar?
PS: this PR requires (and includes) #22, so that PR should be merged (or rejected, of course) before merging this PR.

Looks good to me, I'll hold off on merging until we figure out the other PR #22.


ec-code URI annotations often contain invalid characters

Description of the issue:
Lots of ec-code URI annotations are not valid because they contain invalid characters.
But also sometimes multiples EC that should be split in different annotations I guess.
This is linked with #93 and #127 but not only.
INVALID resolution request
Expected feature/value/output:
Should be something like
"http://identifiers.org/ec-code/<IP_ADDRESS>"
Current feature/value/output:
"http://identifiers.org/ec-code/<IP_ADDRESS>,<IP_ADDRESS>"
"http://identifiers.org/ec-code/:<IP_ADDRESS>"
"http://identifiers.org/ec-code/TCDB:4.C.1.1.5"
"http://identifiers.org/ec-code/ TCDB:4.C.1.1.8"
"http://identifiers.org/ec-code/<IP_ADDRESS> <IP_ADDRESS>"
"http://identifiers.org/ec-code/ <IP_ADDRESS>"
"http://identifiers.org/ec-code/1.3.99.- "
"http://identifiers.org/ec-code/  <IP_ADDRESS> "
Reproducing these results:
Test one of the previous URI.
I hereby confirm that I have:

[X] Tested my code on my own computer for running the model
[X] Done this analysis in the master branch of the repository
[X] Checked that a similar issue does not exist already

@smoretti thanks for reporting the issues.

Lots of ec-code URI annotations are not valid because they contain invalid characters

Can you give some examples of the invalid characters.

But also sometimes multiples EC that should be split in different annotations I guess.

Yes, multiple EC numbers will be splitted into separate URLs.

Thanks @smoretti for reporting. This was at leat partly dealt with by @JonathanRob in #162.
A minor comment:

"http://identifiers.org/ec-code/1.3.99.- "
seems to work fine for me.

Invalid characters are " ", ":", "," as in examples I provided

Okay, all these cases will hopefully be resolved #162.

Yes, these should all be fixed in #162.

Closing this issue because it has now been fixed in v1.3.2.


spider_plus module problem

Describe the bug
Error when using spider_plus module.
To Reproduce
N/A
Expected behavior
Module should be working and no errors should be found since I'm using a latest version of cme.
Screenshots

Crackmapexec info

OS: Kali
Version of CME: v5.0.2
Installed using latest release

Additional context
N/A

Your crackmapexec version is several versions behind. Please go ahead update it and try again


Challenge 1 Iteration Findings

List of requests/bug findings from running challenge-1-decentralized-staking.  These are not set in stone so feel free to discuss.
Feature Request
Is it possible to default the debug tab to land on the Staker.sol contract upon their initial visit?
Feature Request
This is more of a general SE-2 discussion.  What about moving the Tx pop-up to be below the top tabs?

Feature Request
We need a more clear complete() process.  Currently all that changes is the total staked on the Staker UI tab as seen in the screenshot.  The old challenge had an atrocious bar that appeared at the top, so let's avoid it being that gross.  Possibly something that appears above the main Staker UI box displaying the amount staked?

Tysm @ZakGriffith this are great suggestions 🙌

Is it possible to default the debug tab to land on the Staker.sol contract upon their initial visit?

Already fixed in #34

This is more of a general SE-2 discussion. What about moving the Tx pop-up to be below the top tabs?

Not sure about this, like in most apps usually they appear from top of the screen that's why it defaults in SE-2 but happy to happy update if others agree 🙌

We need a more clear complete() process. Currently, all that changes is the total staked on the Staker UI tab as seen in the screenshot. The old challenge had an atrocious bar that appeared at the top, so let's avoid it being that gross. Possibly something that appears above the main Staker UI box displaying the amount staked?

I didn't completely get it 😅 but are we talking about showing something more visual for the amount staked? something like this maybe?

I didn't completely get it 😅 but are we talking about showing something more visual for the amount staked? something like this maybe?

I wasn't very clear with that description 🙃.  In the SE1 version after the threshold is met, the timeleft is 0, and someone calls execute, it calls complete() in the ExampleExternalContract.sol contract and actually stakes the Eth.  Then this huge banner appears at the top(my example says 0 but it would have the real amount)

This shows the user that since all checks were met the Eth got actually staked.
In the current SE2 version, all that happened is that the total staked here went to 0 with no other way of notifying the user what just happened.

I think the users could benefit from something else appearing saying how much was staked.

I wasn't very clear with that description 🙃. In the SE1 version after the threshold is met, the timeleft is 0, and someone calls execute, it calls complete() in the ExampleExternalContract.sol contract and actually stakes the Eth. Then this huge banner appears at the top(my example says 0 but it would have the real amount)

Tysm @ZakGriffith for noticing 🙌, I just missed this part in challenge-1
Updated #34 with something like this :

Please feel free to request for any changes on #34 🙌

That is perfect, nice!!


Use smithy-rs to generate shapes for Rust

Ideally we should be able to take a dependency on the smithy-rs plugins and use it to generate most of the types for the Rust interface to a polymorph library (see https://github.com/smithy-lang/smithy-dafny/blob/main-1.x/TestModels/SimpleTypes/SimpleString/runtimes/rust/README.md)
It sounds like we can likely provide some kind of "no-op protocol" as a plugin and omit most of the code that isn't relevant.
Depends on https://github.com/smithy-lang/smithy-rs/issues/421 since the smithy-rs plugins aren't published to Maven Central yet. For now we can use a submodule and local maven publishing.

This is more of an implementation idea than a task to complete - closing in favor of concrete deliverables such as https://github.com/smithy-lang/smithy-dafny/issues/375


lnferernce problem: The tensor element of audio is nan

l am new to deep learning.l heard the silence of audio when l ran the infenence code.Pycharm's debugging results show that the audioelement is nan.l don't know what could have caused this and l have not changed any part of the code.Does anyone know how to solve this problem?

I have the same question that the tensor element of audio is nan.
I've found that you need to remove the .half() function from the model after comparing it with NVIDIA's official inference code..
checkpoint_path = "tacotron2_statedict.pt"
model = load_model(hparams)
model.load_state_dict(torch.load(checkpoint_path)['state_dict'])
_ = model.cuda().eval()

waveglow_path = 'waveglow_256channels_universal_v5.pt'
waveglow = torch.load(waveglow_path)['model']
waveglow.cuda().eval()


tree closes after adding a new concept

this really sucks, especially with a deeper tree structure. The treee should automatically open at the last createt concept.

That's the intended behaviour. I'll look into it.


:seedling: Migrate other RunScorecard callers

What kind of change does this PR introduce?
api cleanup. I grouped these separately as they're lower impact

[X] PR title follows the guidelines defined in our pull request documentation

What is the current behavior?
Use pkg.RunScorecard
What is the new behavior (if this is a feature change)?**
Use pkg.Run

[ ] Tests for the changes have been added (for bug fixes/features)

Which issue(s) this PR fixes
Follow up of #3717

Special notes for your reviewer
Does this PR introduce a user-facing change?
For user-facing changes, please add a concise, human-readable release note to
the release-note
(In particular, describe what changes users might need to make in their
application as a result of this pull request.)

NONE

Note: 8f5b397cc92c1b90c2a0a8236f6fa245d0e632cc was cherry picked from #4203, so the implementation is identical. I can resolve any merge conflict.


Visual tears and lagginess on 4K monitor

VSCode Version: Code 1.7.1 (02611b40b24c9df2726ad8b33f5ef5f67ac30b44, 2016-11-03T13:46:46.244Z)
OS Version: Linux x64 4.4.0-45-generic
Extensions:

Extension
Author
Version

rainbow-brackets
2gua
0.0.6

python
donjayamanne
0.5.0

code-runner
formulahendry
0.4.1

Hg
jake-coltman
0.0.4

vscode-clang
mitaki28
0.2.1

csharp
ms-vscode
1.4.1

sublime-keybindings
ms-vscode
1.5.12

indent-rainbow
oderwat
0.4.1

clang-format
xaver
0.11.0

Steps to Reproduce:

Using a very powerful laptop and a connected 4K monitor, start VS Code
Open a file and move the mouse around and scroll up and down (i.e.: interact with VS Code)

Dup of #9432 .


Fallthrough override doesn't work

Usual example:
Function uses a data, that is located just after the function call, like this:
call printf
ds "my string"
ret

When I'm trying to change it using Auto override, or by specifying "JUMP_OVERRIDE_UNCONDITIONAL" it doesn't change anything in decompiler output.

I can't point to ret in this case so it will be shared with the decompiler.

We need to correct the fallthrough override case where the default pcode does not perform an explicit  branch to the next instruction resulting in a normal fallthrough.  If the last pcode operation is not an unconditional jump and additional fallthough override jump should get injected.


Fix Typo, Add Address Validation, Remove Redundant ERC20 Deposit

Description
This PR includes the following changes to the DeployTestContracts contract:

Fixed Typo in Variable Name:

Corrected the variable name _l1StandardBirdge to _l1StandardBridge to eliminate the typo and ensure consistency.

Added Address Validation:

Added require statements to check that the provided addresses are not zero. This ensures that invalid contract addresses are not used, which could prevent the contract from working correctly.

Removed Redundant ERC20 Deposit Call:

Removed the duplicate call to L1StandardBridge(_l1StandardBridge).depositERC20. Now, only one deposit call is made, optimizing gas usage.

Added ERC721 Approval:

Ensured the ERC721 token is approved for bridging with the correct approve method for _l1erc721Bridge.

Code Changes:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import "forge-std/console.sol";
import "forge-std/Script.sol";

import {ERC20PresetMinterPauser} from<EMAIL_ADDRESS>import {ERC721PresetMinterPauserAutoId} from
<EMAIL_ADDRESS>
import {L1StandardBridge} from<EMAIL_ADDRESS>import {L1ERC721Bridge} from<EMAIL_ADDRESS>
// Deposits funds to Base Mainnet to test its functionality
contract DeployTestContracts is Script {
    function run(
        address _tester,
        address payable _l1StandardBridge, // Fixed variable name from _l1StandardBirdge
        address _l1erc721Bridge,
        address payable _l1erc20,
        address _l1erc721,
        address _l2erc20,
        address _l2erc721
    ) public {
        // Added checks to ensure the addresses are not zero
        require(_l1StandardBridge != address(0), "Invalid L1StandardBridge address");
        require(_l1erc721Bridge != address(0), "Invalid L1ERC721Bridge address");
        require(_l1erc20 != address(0), "Invalid L1ERC20 address");
        require(_l1erc721 != address(0), "Invalid L1ERC721 address");
        require(_l2erc20 != address(0), "Invalid L2ERC20 address");
        require(_l2erc721 != address(0), "Invalid L2ERC721 address");

        vm.startBroadcast(_tester);

        // Approve token transfers for ERC20
        ERC20PresetMinterPauser(_l1erc20).approve(_l1StandardBridge, 1_000_000 ether);
        console.log("ERC20 approval to L1StandardBridge complete");

        uint256 tokenId = 0; // Specify a valid token ID if necessary
        ERC721PresetMinterPauserAutoId(_l1erc721).approve(_l1erc721Bridge, tokenId);
        console.log("ERC721 approval to L1ERC721Bridge complete");

        // Perform ERC20 deposit to the bridge
        L1StandardBridge(_l1StandardBridge).depositERC20(_l1erc20, _l2erc20, 1_000_000 ether, 200_000, bytes(""));
        console.log("ERC20 deposit to L1StandardBridge complete");

        // Perform ERC721 bridge
        L1ERC721Bridge(_l1erc721Bridge).bridgeERC721(_l1erc721, _l2erc721, tokenId, 200_000, bytes(""));
        console.log("ERC721 deposit to L1ERC721Bridge complete");

        vm.stopBroadcast();
    }
}

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


testshade --optix

Works for simple cases. Use with caution, there is a LOT that doesn't
work in the OptiX path. Embarrassingly so. But this refactor makes it so
that the last of the old "testoptix" oriented tests now work using
"testshade --optix".
It also requires that environment variable TESTSHADE_OPTIX=1 must be
set.  This is for weird reasons that have to do with argument orders,
and will go away in the next refactor of testshade, so I don't even
want to bother explaining. It's about to get fixed.
There is a lot that doesn't work properly. Frankly, I would encourage
onlookers to wait for another couple of checkins from me before wasting
any time on this. The most embarrassing parts will be fixed soon.
To be honest, I don't recommend that people read this review too deeply.
This code is in flux and is about to get overhauled significantly yet again!
I'm just trying to checkpoint various stages of the work so that we keep
moving forward in steps that continue to work for all the ways we depend
on testshade and testrender without breaking them.

LGTM

I'm going to merge this, but I'm getting spurious occasional errors on the Appveyor Windows build. I can't reproduce on Linux or OSX. On Appveyor/Windows, sometimes it succeeds, sometimes a few testshade tests fail. I haven't narrowed it down yet and don't have any good theories. I'm not even sure it's because of this PR or merely coincidental.
So I will merge anyway, then try to track down if it continues (and if it's not immediately fixed by the next batch of testshade changes).
Apologies if this makes it crash for anybody. If it does crash for you, though, could you please try to catch it in the debugger and tell me exactly where it's happening? Thanks.


Do you prefer if I complete this PR?

Yes, please, if you can find a good setup with your screen. Thank you.

I zoomed out the viewpoint in the 3D view.
I also fixed the robotis visual_tracking WBPROJ so that it opens the controller files instead of an empty text editor.
:+1:

:eyes:


CLOUDSTACK-10334: Fix inadequate information for handling catch clauses

Description
The description of the problem:
https://issues.apache.org/jira/browse/CLOUDSTACK-10334
I just added stack traces information to those two logging statements, so that the exception type can be generated to the logs.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

The change is simply in error logging, Travis is green so explicit trillian tests may not be necessary. +1 on tests based on Travis.

Code LGTM.

@DaanHoogland sure.
No need to run the integration tests here?

not sure @rafaelweingartner , should we?
@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

@DaanHoogland @rafaelweingartner  this is simply a logging change, Travis is green. I'm okay merging based on 2+ lgtms and test run by Travis.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-1846

@DaanHoogland I am ok too. I will merge then 👍


Position onTap with GestureDetector

i looking forward to have position onTap using GestureDetector or Inkwell, so if we wrap a widget with GestureDetector and we give it a position onTap, like tapping the right side of the widget and the left side of the widget, likewise up and down....
i will be happy if flutter team look up to this...

@gbbest15
Check below links and see if they help:
https://github.com/flutter/flutter/issues/18552#issuecomment-397915813
https://stackoverflow.com/questions/44534757/how-do-detect-where-a-user-tapped-on-my-screen-with-flutter
https://github.com/flutter/flutter/issues/20986

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Another error we encountered in the wild regarding plugin install

Added another error message that we encountered in the wild regarding plugin install into the default retryables. See the logs for this failing build for the full error message.

Thanks for review! Merging now!


Change linterViews to be an ES6 Set rather than an Array.

This makes it possible to remove a dependency on lodash in init.coffee.
Curiously, this was my first justified use of the
Embedded JavaScript feature in
CoffeeScript because I needed to use the ES6 iteration idiom for Set,
for which there is no equivalent in CoffeeScript.
This also updates deactivate() to null out references so they can be garbage collected.
This is good practice if a package toggles between activated and deactivated.

I've never had to use that embedded javascript feature either. Interesting!


[BugFix] Column_from_field_type not support array, use column_from_field.

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #10274

run starrocks_admit_test

run starrocks_admit_test

@mergify backport branch-2.1


Questions related to rendering and sensor observations.

Hello!
I have two questions:

How is it possible to get the top view of the maze as shown in the README. For instance, when I render the environment I get something like this instead:

I was wondering if you can share the snippet for how the images in readme were rendered.

Why aren't the range sensor used for the observation space as done in the reference tensorflow/models repo over here? Shouldn't that affect the learning too?

PS: Thanks for releasing this package. This is pretty cool!

How is it possible to get the top view of the maze as shown in the README

I manually moved the camera using mujoco-py's GUI. I am also curious if we can move the camera by some snippets, and I'll let you know when I succeed.

Why aren't the range sensor used for the observation space as done in the reference tensorflow/models repo over here? Shouldn't that affect the learning too?

I removed it since it was not used in experiments.
First, let's confirm that range_sensor_obs is an empty numpy array unless n_bins = 0 here: https://github.com/tensorflow/models/blob/238922e98dd0e8254b5c0921b241a1f5a151782f/research/efficient-hrl/environments/maze_env.py#L377.
Then let's see https://github.com/tensorflow/models/blob/238922e98dd0e8254b5c0921b241a1f5a151782f/research/efficient-hrl/environments/create_maze_env.py, and take care of n_bins. We can see that n_bins is 8 if the envname starts with Ego and otherwise 0. However, then we can see an if block like
if envname == "Point":
elif ...

, and here we cannot see Ego.
So, I judged the egocentric view as a duplicated feature.
But, I think the egocentric vs topdown view is an interesting question in RL, and retrieving the feature in some way would be worth considering.
Thank you for your questions, and let me know if you have any other questions.

Thank you for the response.
Both of my questions have been answered, so I'm closing this issue. Thanks again for the help 😄


Update roles and scopes for new employee type

Update roles and scopes for new employee type according to requirements
Requirements: Реімбурсація - вимоги

[x] Update WS spec
[ ] Implement
[ ] Deploy
[ ] Improve test scenarios
[ ] Development:

Add new client: PHARMACY +describe scopes for this client.
Add new roles: PHARMACIST, PHARMACY_OWNER +describe scopes for this roles.

Please review spec


Support of Miinimal theme list-cards view

The minimal themes cards view works with dataview but the helper class doesn't render for lists.

This works on the obsidian app but not on the digital garden site

need this, too!

I agree! Is this possible?


Ability to disable drag based on scope variables?

First of all, thanks for the great library.  Is there a way to make an element conditionally draggable?  I am using ui.bootstrap.accordion and would like to make the elements sortable only when closed.
I've tried using the status.open model that the accordion populates as the expression for sv-element and it seems to have the desired effect, but probably just because it induces an error when I click inside an open panel (Uncaught TypeError: Object.keys called on non-object) which seems to be coming from here:
					var opts = $parse($attrs.svElement)($scope);
					opts = angular.extend({}, {
						tolerance: 'pointer',
						revert: 200,
						containment: 'html'
					}, opts);

Might be related to #18 which will be fixed in a minute

I would also like to conditionally enable/disable the drag and drop ability. I don't see this issue as resolved, so how is it closed?
I have a ng-repeat that creates a list of items that can be expanded/collapsed.  I have an sv-handle, but I only want to show the handle (and therefore enable dragging) when all items are collapsed.  However, if I hide the element with the sv-handle when any of the items are expanded, the sv-handle essentially does not exist, and you can then drag any item by clicking on it anywhere.
To get around this, temporarily, I've got something like this:
Drag me

It works, but it's not so elegant.  An sv-enable (or sv-disable) would be really nice.  If there is a way to do this, then some updated documentation would be really nice.
Thanks

I've updated the demo. Check out http://kamilkp.github.io/angular-sortable-view/#?tab=3
There is a checkbox to hide the handles. Is that the desired behavior for you?

Thanks for the update.  It's sort of what i meant, but i needed something a little more complicated.  i had some code snippet in my previous comment, but it looks like it didn't show.  It's ok though.  I've figured out how to make it work.
I am having 1 other problem though.  Here's the scenario.  Let's say I have a list of items, 1,2,3,4
Once an item is complete, it cannot be draggable.  That's good, I've got that working.  So let's say item 1 is complete.  I need to prevent 2,3, or 4 from being dragged above 1.  I've been trying to get the sv-on-start or sv-on-stop to work, with no luck and I'm not even sure they will help.  Is there a way to do that?
Thanks,
Jason

You'd have to render item 1 out of the sv-part container. Essentially the "complete" elements would have to be renered as not part of the sortable component and manipulate some positioning to get the visual effect you need. Is it something e.g. a jQuery sortable supports?

That is exactly what I suspected. I'll figure it out. I was hoping for an easier solution.  Maybe an  sv-disable-drag-above and sv-disable-drag-below attribute would be awesome in the future ? ;)
Thanks for your replies.

I'd also love to see an sv-enabled="someScopeVar", as we want to do things like disable drag/drop re-ordering when a filter is applied, etc. We'd rather not use a handle as that's not super user friendly for our scenario, but we will for now. :)

@dmackerman in your case you could just add a

 to disable dragging, and still have full element dragging when enabled


Migrate to code blocks to import from .re source files

After copying all the book's markdown files to vitepress site, I migrate almost all code blocks inside the markdown files to import from file by region.

Is bun necessary? the top level package.json is supposed to be used with npm (there is a package-lock.json. I think we should use a single package manager, and Bun is still very alpha (imo)

Switched to npm in https://github.com/melange-re/melange-for-react-devs/pull/1/commits/698f1475540ab3ba14203053a192207bc395022a

Will some kind of search be available in the docs?

Enabled the search bar in https://github.com/melange-re/melange-for-react-devs/pull/1/commits/024668860ec81668d8d7c612dd977b1c8ce8d154

Can there be "Edit this page on GitHub" buttons in Vitepress?

Added "edit this page" link at the bottom of every page in https://github.com/melange-re/melange-for-react-devs/pull/1/commits/58b8d43a651d70a3b3e44f30e4c0378264d74a91

There is some comment > Docendo disco, scribendo cogito in the todo.md page. Is that on purpose?

Yes, it means "I learn by teaching, I think by writing" in Latin.

Should there be some explanation at the top level readme to explain the separation between book and sources?

Added note that books files are in docs directory in https://github.com/melange-re/melange-for-react-devs/pull/1/commits/37b2a092bde45f50ca3336f53282080056f5e1c7


CustomOutput and quality of life changes

flowcomponent (subclasses) are now called when CustomOutputs are triggered for root flow graphs
Added a button for Edit Asset Defaults in the editor (clicking on the graph will also do this, but it's nice to have a button)
Added a flownode DeinitializeInstance call (called when its flowasset is deinitialized)

Awesome, there are a lot of good changes introduced with a small amount of code! It's all clean, so I only tweaked a few places to improve code readability and consistency (satisfying my styling OCD).
Any non-cosmetic changes described in the conversations. However, there's nothing changing your functionality :)
Big thanks!
PS Usually, I would ask for re-creating PR if combines many things at once. But I see you fought a battle with Git here ;)

Yeah, I'm still bumbling my way through GIT.  It's a pretty different mindset than the source control packages I've used before (CVS, VSS, SVN, P4, etc.)
Future changes will be more localized commits.  this was an omnibus of the tweaks for the last few weeks.  Sorry it got all mingled together.


Maxwell I: Fundamentals

[x] Quick Guide to Maxwell's Equations
[x] Fundamental Laws
[x] Physical Principles

[ ] Maxwell's Equations in Homogeneous Media

[ ] Wave Propagation in Homogeneous Media
[ ] Effects of Conductivity (this is where skin depth and diffusion distance come in)
[ ] Quasi-Static Maxwell's equations

[ ] Sources in a Homogeneous Medium

[ ] Electric Dipole
[ ] Magnetic Dipole

[ ] Principles of EM Induction

[ ] Frequency Domain (includes skin depth)
[ ] Time Domain (includes Diffusion Distance)
[ ] Going Between Time and Freq (light overview - links into a "Useful Math Appendix")

[ ] Fourier Transform
[ ] Digital Filtering

[ ] Solving Maxwell's Equations

[ ] Numeric

[ ] Staggered Grid
[x] Finite Volume Discretization
[ ] Examples

[ ] Analytic

[ ] Methodology
[ ] Examples

[ ] Semi-Analytic

[ ] Using Potentials (Shelkhonof potentials included here)
[ ] Examples

This issue is out-of-date with the proposed structure. As such, I will close this and refer instead to #346


kernel: remove legacy fields in _kernel

UP should just use _kernel.cpus[0].
Signed-off-by: Andrew Boie<EMAIL_ADDRESS>

@andyross ping


[ECR-3223] LC: port is optional; added prefix

Overview

See: https://jira.bf.local/browse/ECR-3223

now the port is optional in the host URL
a prefix can be set to all requests

Definition of Done

[ ] There are no TODOs left in the code
[ ] Change is covered by automated tests
[ ] The coding guidelines are followed
[ ] Public API has Javadoc
[ ] Method preconditions are checked and documented in the Javadoc of the method
[ ] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

Coverage decreased (-0.02%) to 85.446% when pulling 1d0b85a6f678556bd60a3de4147db57a68801697 on ecr-3223 into 6f076b8e10a07c024ff307364addb608e97d5d06 on master.

Would you please also add a short changelog entry?
The build currently fails due unused imports.


Detect Webcam Usage?

I installed this today and it's working great - thanks! My previous implementation tailed the log file, and that was not very reliable.
I was wondering if there is a way to also capture if webcam is active? There is an approach described here:
https://community.home-assistant.io/t/microsoft-teams-status/202388/61
This would be really useful to indicate to others when your video is on, and can be used for some automations (like changing lighting if webcam is on).

The registry trick looks like a reliable and known way of detecting usage, so it should be straightforward to implement. I'll take a crack at it when I get some time.

Amazing, thanks!

I implemented a separate polling thread that should look at the registry for any app that has value "LastUsedTimeStop" of 0. It will also report the app's name to HA as a separate entity. The config file has changed a bit so it will have to be regenerated. I won't do a new release just yet until I can fix crashing related to improper config files.

Decided against putting more time into config file checking. A new release has been posted. You will have to remove the existing config and start the application to generate a new one.
https://github.com/pathartl/TeamsPresence/releases/tag/v2.1.0


Default RBAC configuration does not allow use of st2 pack config

Steps to reproduce:

Install new BWC system using one-line install. Note that RBAC is now enabled by default
Authenticate as st2admin
Install a pack - e.g. st2 pack install zendesk - this will succeed
Attempt to configure the pack with st2 pack config zendesk. Result: 500 Server error.

Output:
ubuntu@bwcxenial:/opt/stackstorm/packs/dcfabric$ st2 pack config zendesk
subdomain: bwc
email<EMAIL_ADDRESS>api_token (secret): ***************
---
Do you want to preview the config in an editor before saving? [y]: n
---
Do you want me to save it? [y]: y
ERROR: 500 Server Error: Internal Server Error
MESSAGE: Internal Server Error for url: http://<IP_ADDRESS>:9101/v1/configs/zendesk

This is an example of typical st2api.log output https://gist.github.com/anonymous/e71026f96062bb1f5c8f0eeae145de50
Wonder if there's a connection to https://github.com/StackStorm/st2/pull/3235 ?

Yeah #3235 should have fixed that.
Are they using v2.2.0?

Yes, v2.2.0, from what it looked like to me pack_config in API checks for PACK_CREATE permissions.  However, that permission is not in the resolver assert list:
https://github.com/StackStorm/st2/blob/master/st2api/st2api/controllers/v1/pack_configs.py#L82
https://github.com/StackStorm/st2/blob/master/st2common/st2common/rbac/resolvers.py#L339
If I change the line in pack_config.py to PACK_INSTALL instead of PACK_CREATE and then restart services then it seems to work for me.

@efenian Thanks again for confirming.
I just checked the code and I see the issue (similar to #3235, but a different issue). Will work on a fix shortly.


i want multiple post upload

i want muliple post upload in codeigniter
but i can't  multiple uplaod  empty array data

Was uploading multiple files giving you a problem?  I think i need more background on your issue.. Please elaborate.

I am closing this issue for lack of information


[MM-43838] Calls: WebSocket reconnection support

Summary
PR adds support for reconnecting the signaling (websocket) client in case of a disconnect.
Related PRs
https://github.com/mattermost/mattermost-plugin-calls/pull/145
Ticket Link
https://mattermost.atlassian.net/browse/MM-43838
Release Note
Calls: implemented WebSocket reconnection support

@cpoile Could you give this a test? Maybe on iOS since I've only tested on my Android device.
One thing to try would be to have the plugin configured to use rtcd and verify that restarting the Mattermost server doesn't kill the call and voice tracks flow as expected.
Let me know if you need help setting up things.

@streamer45 Yep, it works as expected. Nice job!


chroma: update chroma-go functions to pass context

Chroma: Update calls to support added context params on calls from chroma-go
This is a small change to support the addition of context params on chroma-go api. Those changes were merged on Jan 9. PR #20.
PR Checklist

[x] Read the Contributing documentation.
[x] Read the Code of conduct documentation.
[x] Name your Pull Request title clearly, concisely, and prefixed with the name of the primarily affected package you changed according to Good commit messages (such as memory: add interfaces for X, Y or util: add whizzbang helpers).
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. Fixes #123).
[x] Describes the source of new concepts.
[x] References existing implementations as appropriate.
[x] Contains test coverage for new functions.
[x] Passes all golangci-lint checks.

Hello @tmc, wanted to see if this could be reviewed in short order. I currently use chroma-go outside of langchaingo, which has caused a version dependency. Also, this change brings chroma-go and langchaingo in-line api wise.

I can confirm that this commit is safe and does indeed resolve the issue. Tested by adding the following directive in my go.mod:
replace github.com/tmc/langchaingo => github.com/dddbliss/langchaingo v0.1.5-0.20240210073700-9ac0e7441c4d

and then rebuilding and running my project.


error after running curl

root@beaglebone:~# curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | bash
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100  7149  100  7149    0     0  16052      0 --:--:-- --:--:-- --:--:-- 20309
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
remote: Counting objects: 3684, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 3684 (delta 1), reused 0 (delta 0), pack-reused 3674
Receiving objects: 100% (3684/3684), 825.67 KiB | 546 KiB/s, done.
Resolving deltas: 100% (2119/2119), done.
Your version of git is out of date. Please update it!
=> Appending source string to /root/.bashrc
npm ERR! max depth reached<EMAIL_ADDRESS>required by undefined@undefined
npm ERR! max depth reached<EMAIL_ADDRESS>required by undefined@undefined
npm ERR! max depth reached<EMAIL_ADDRESS>required by undefined@undefined
npm ERR! not ok code 0
=> You currently have modules installed globally with npm. These will no
=> longer be linked to the active version of Node when you install a new node
=> with nvm; and they may (depending on how you construct your $PATH)
=> override the binaries of modules installed with nvm:
/usr/local/lib
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>=> If you wish to uninstall them at a later point (or re-install them under your
=> nvm Nodes), you can remove them from the system Node as follows:
 $ nvm use system
 $ npm uninstall -g a_module

=> Close and reopen your terminal to start using nvm

None of these are problematic (note the 0 exit code) - this is normal output. "Your version of git is out of date. Please update it!" means you should definitely update your git version, and the bonescript/n/winston errors is simply letting you know that global modules not installed on the nvm current version of node may not be available.

The error code might be 0 but it says "not ok" and fails to install.

That is a fair point - that is npm output, but it's a bit confusing.
I'll reopen this, since the npm ls -g error output probably shouldn't go to stderr.


Comment here to be added as a collaborator

Comment below - you can say anything
We will all be using this repository today. Even though it's public right now, you will not be able to make changes until you're given the correct permissions. We've automated this process via the GitHub API and some fancy chatops. Once you comment, we will add you as a collaborator.
You'll also start to receive a lot of emails. (:exclamation:) You can slow these down immediately by clicking the 'Unwatch' button and selecting either the 'Not watching' or 'Ignoring' option.

Hello world ~

Hi all 🐱

Test Comment

Hi!

A comment.

pong!

me

heee


Decoder crashs when using files encoded by opus-recorder

Hello,
I am trying to decode ogg-opus files encoded by opus-recorder (a RecorderJS fork by Chris-Rudmin) with the help of node-opus. Unfortunately it crashes node. The output of the format event seems also to be weird because it's always showing 44100Hz independent from my chosen encoder settings on the client, which isn't a valid rate for opus at all.
The files created by opus-recorder work fine in the browser and also in VLC.
Btw. ogg-opus doesn't crash on all files. So e.g. the included 'input.opus' works as expected.
I have no idea where to look for the problem. The native binaries are gyp-compiled on Windows using the version delivered.
It can be easily tested using opus-recorder's decoder example that does some microphone recording and stores it to a blob that can be saved to a file. Using this file with the alsa example (or a modified version that puts all data to a file stream) on node leads to the crash.
Thanks,
Robbson

Can you provide a sample file if you got one?

I've attached a test file. It has to be renamed before because of the file type restrictions.
test-file.ogg.txt

Btw. I tested in on Linux (Ubuntu 14.04) and it also crashed node (4.4.4).

After some investigation I noticed that the libopus version of node-opus is pretty old (1.1 Beta from 2014).
So I replaced it using the current 1.1.2 build. Now it doesn't crash anymore but there is still no decoded data. And the weird 44100Hz are still shown as format.
If you use the opusinfo command line tool you can also see those 44100Hz. By the way opusdec tool plays the ogg-opus file successfully but it also shows several errors before ("Error playing audio").
Now I try to debug node-opus in Visual Studio. Using the problematic file I get an exception because it tries to access a reference to the decoder which doesn't exist (dec is null):
int opus_decoder_get_nb_samples(const OpusDecoder *dec,       const unsigned char packet[], opus_int32 len) {    return opus_packet_get_nb_samples(packet, len, dec->Fs); }

Ok, the print of the 44100Hz is not so weird because it's the original input frequency that is preserved in the opus header as metadata, independent from the encoding frequency.
After trying several other files (including official samples from the opus web site) the problem occurs when the original input frequency was 44100Hz. That's usually the case in a browser when using the Web Audio API.

I've found the issue.
If you don't specify the decode (output) frequency when instancing the decoder it doesn't fall back to 48000Hz but to the original input frequency that is stored in the header of the file. So when this original frequency is 44100 (e.g. sampled from a CD) you set it as the decoding frequency.
That leads to a crash because 44100 is a not supported decode frequency by opus and so the decoder instance is internally not created.
Btw. this output frequency is totally independent from any original or encoding frequency. So if you e.g. encoded a 44100Hz source at full band with 48000Hz you can still set the decoding freq. to 16000Hz if required.
That's why your assumption in the sample code:
"// NOTE: The decoder must use the same values when decoding the packets."
is not correct.

Took me ages to get back to this. Was under allergies the week this was reported and then I kept pushing it away.
I updated opus to 1.1.2 and added some error checks for encoder/decoder creation and the opus _ctl function return value.
This shouldn't "fix" the issue of the encoder not working with bad bitrates but it should maybe give better error message and not crash.
Sorry for the delays. :unamused:

Apparently even if you specified the decode frequency, it wasn't used. 😥
#21 should fix this as well.


Require lxc-docker <= 1.6.2

1.7.0 Has issues with docker ps output, breaking all plugins
[ci-skip]

Can you also make this work for the dev env?

^ That what you mean?

Boom!

any reason to hold up on merging this?


Email validation fails for Country Code Top-Level Domains such as .co.uk

Currently, validation is failing for<EMAIL_ADDRESS>but passing for<EMAIL_ADDRESS>I tried a test against the current regex and it does not match the format. THe following regex should:
^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$

Source: https://regexr.com/2rhq7

Thanks for raising this. Are you using v8?

Yes, I am

Okay. I'm looking into this now...

Fixed in v8.1.0

Wow, that was quick! I just created a local Fork to have a go myself - is this available for use now?

Yep. Available on NPM.

Great stuff - thanks! Really like this package so far.


Inline snapshots are indented at col 0

💥 Regression Report

Inline snapshots are indented at col 0, looks like #9477 resurfaced.
Last working version
Worked up to version: 26.6.3
Stopped working in version: 27.0.1
To Reproduce
Steps to reproduce the behavior: #9477
Run npx envinfo --preset jest
Paste the results here:
System:
    OS: Linux 5.10 Alpine Linux
    CPU: (2) x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
  Binaries:
    Node: 12.22.1 - /usr/local/bin/node
    Yarn: 2.4.1 - /usr/local/bin/yarn
    npm: 6.14.12 - /usr/local/bin/npm

Interesting - my test seems to still be passing, so that's odd 🤔

Have you tried adding a new inline snapshot after the upgrade? The bug seems to appear after you add a new inline snapshot expectation in any test case file that has already had some inline snapshots.
So, If u didn’t touch your old tests (the tests that work for Jest 26), then they will not break and therefore, the bug is not reproduced.

That's the conditions my test was meant to test for, since that was the bug the first time around :)

(sorry to be clear, when I say "my test", I mean the test I added to the jest test suite when I did the fix for #9477)

That's the conditions my test was meant to test for, since that was the bug the first time around :)

Your first comment was mind-boggling to me.  After reading your next comment, now it makes sense LOL 😂.
Perhaps I could try to isolate the issue in a reproducible repository, see if the bug persists.

Here is a repo:
https://github.com/jasonlimantoro/jest-27-inlinesnapshots (using jest 27.0.4, but the bug is still there).
There is one test file in test/index.test.js, with an inline snapshot indented at col 0.
Running yarn test will pass the test, suggesting that it indents at 0.
If you downgrade to version 26 and then run the test again
yarn add jest@26
yarn test

the inline snapshots will be indented correctly again.

I strongly suspect this is related to the prettier change.
I found that if I have a formatting "error" (i.e a missing semicolon), then that is corrected and the snapshots are updated with correct indenting, but if there's nothing for prettier to do then we get the lack of indenting behaviour.

/cc @jeysal any idea? Seems like a regression from the "uglier snapshots" thing, but weird a test didn't catch it

No, I don't, sorry. Tbf I didn't write most of the actual impl for non-Prettier inline snapshots, was more involved in resolving the massive performance problems that prevented it from landing and then getting it over the line.

I was able to create a test for this, so #11560 is now good to go - I've updated the description to detail what the problem is and why it wasn't caught by the existing test suite.


Feature/streamline-startup

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

[ ] Refactor
[ ] Feature
[ ] Bug Fix
[ ] Optimization
[x] Documentation Update

Description
This PR just changes the startup documentation to make it easier to understand. In helping other developers get set up I realized that there was room for improvement.
Related Tickets & Documents
None
QA Instructions, Screenshots, Recordings
I deleted the application and went through the instructions a few times to make sure they were clear.
Added/updated tests?
We are aiming for 100% statement coverage.

[ ] Yes
[x ] No, and this is why: Documentation change
[ ] I need help with writing tests

Are there any post-deployment tasks we need to perform?
I will need another PR that allows devs to bypass OAuth when developing locally. It's a pain without that.
What gif best describes this PR or how it makes you feel?

Probably easiest to view the Readme changes here: https://github.com/digitalaidseattle/seattle-humane-app/blob/feature/streamline-startup/README.md


Stuck mutex causing resource leak

We're running into an intermittent problem where one of our caddy replicas goes runaway in memory usage. This is ~50MB baseline to growing over 1GB over time, before eventually failing to service liveness probe requests and being killed by our process orchestrator.
It appears to be a resource leak, looking at the output of lsof on an affected replica reveals that there are several thousand open sockets.

Caddy is built like so:
FROM caddy:2.7.6-builder-alpine AS builder

RUN xcaddy build \
    # https://github.com/caddyserver/caddy/pull/5979
    --with<EMAIL_ADDRESS>\
    --with<EMAIL_ADDRESS>\
    # https://github.com/mholt/caddy-ratelimit/pull/34
    --with github.com/mholt/caddy-ratelimit=github.com/divviup/caddy-ratelimit@93aba685422d0e3efcb10e15ac9c6c3d1766db8b

FROM caddy:2.7.6-alpine

ARG GIT_REVISION=unknown
LABEL revision ${GIT_REVISION}
COPY --from=builder /usr/bin/caddy /usr/bin/caddy

(Apologies, we are using forks to get some additional functionality/fixes. I didn't notice any pertinent changes in upstream that would affect this issue).
The OS is:
/srv # cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.18.5
PRETTY_NAME="Alpine Linux v3.18"
...

Our caddy config:
{
  "admin": {
    "config": {
      "persist": false
    }
  },
  "apps": {
    "http": {
      "servers": {
        "metrics": {
          "listen": [
            ":9465"
          ],
          "metrics": {},
          "routes": [
            {
              "handle": [
                {
                  "handler": "metrics"
                }
              ],
              "match": [
                {
                  "path": [
                    "/metrics"
                  ]
                }
              ]
            }
          ]
        },
        "rate_limiter": {
          "listen": [
            ":80"
          ],
          "logs": {},
          "metrics": {},
          "routes": [
            {
              "handle": [
                {
                  "distributed": {
                    "read_interval": "5s",
                    "write_interval": "5s"
                  },
                  "handler": "rate_limit",
                  "rate_limits": {
                    "report-upload": {
                      "key": "{http.regexp.report-upload.1}",
                      "max_events": 15000,
                      "window": "15s"
                    }
                  }
                },
                {
                  "handler": "reverse_proxy",
                  "upstreams": [
                    {
                      "dial": ":8080"
                    }
                  ]
                }
              ],
              "match": [
                {
                  "method": [
                    "PUT"
                  ],
                  "path_regexp": {
                    "name": "report-upload",
                    "pattern": "/tasks/([0-9A-Za-z_-]{43})/reports"
                  }
                }
              ]
            },
            {
              "handle": [
                {
                  "distributed": {
                    "read_interval": "5s",
                    "write_interval": "5s"
                  },
                  "handler": "rate_limit",
                  "rate_limits": {
                    "aggregation-job": {
                      "key": "{http.regexp.aggregation-job.1}",
                      "max_events": 1500,
                      "window": "15s"
                    }
                  }
                },
                {
                  "handler": "reverse_proxy",
                  "upstreams": [
                    {
                      "dial": ":8080"
                    }
                  ]
                }
              ],
              "match": [
                {
                  "method": [
                    "PUT",
                    "POST"
                  ],
                  "path_regexp": {
                    "name": "aggregation-job",
                    "pattern": "/tasks/([0-9A-Za-z_-]{43})/aggregation_jobs/[0-9A-Za-z_-]{22}"
                  }
                }
              ]
            },
            {
              "handle": [
                {
                  "distributed": {
                    "read_interval": "5s",
                    "write_interval": "5s"
                  },
                  "handler": "rate_limit",
                  "rate_limits": {
                    "collection-job": {
                      "key": "{http.regexp.collection-job.1}",
                      "max_events": 1500,
                      "window": "15s"
                    }
                  }
                },
                {
                  "handler": "reverse_proxy",
                  "upstreams": [
                    {
                      "dial": ":8080"
                    }
                  ]
                }
              ],
              "match": [
                {
                  "method": [
                    "PUT",
                    "POST",
                    "DELETE"
                  ],
                  "path_regexp": {
                    "name": "collection-job",
                    "pattern": "/tasks/([0-9A-Za-z_-]{43})/collection_jobs/[0-9A-Za-z_-]{22}"
                  }
                }
              ]
            },
            {
              "handle": [
                {
                  "distributed": {
                    "read_interval": "5s",
                    "write_interval": "5s"
                  },
                  "handler": "rate_limit",
                  "rate_limits": {
                    "aggregate-share": {
                      "key": "{http.regexp.aggregate-share.1}",
                      "max_events": 1500,
                      "window": "15s"
                    }
                  }
                },
                {
                  "handler": "reverse_proxy",
                  "upstreams": [
                    {
                      "dial": ":8080"
                    }
                  ]
                }
              ],
              "match": [
                {
                  "method": [
                    "POST"
                  ],
                  "path_regexp": {
                    "name": "aggregate-share",
                    "pattern": "/tasks/([0-9A-Za-z_-]{43})/aggregate_shares"
                  }
                }
              ]
            },
            {
              "handle": [
                {
                  "handler": "vars",
                  "skip_log": true
                },
                {
                  "handler": "static_response",
                  "status_code": 200
                }
              ],
              "match": [
                {
                  "method": [
                    "GET"
                  ],
                  "path": [
                    "/healthz"
                  ]
                }
              ]
            },
            {
              "handle": [
                {
                  "handler": "reverse_proxy",
                  "upstreams": [
                    {
                      "dial": ":8080"
                    }
                  ]
                }
              ],
              "match": [
                {
                  "path": [
                    "/*"
                  ]
                }
              ]
            }
          ]
        }
      }
    }
  },
  "logging": {
    "logs": {
      "default": {
        "encoder": {
          "format": "json",
          "level_format": "upper",
          "time_format": "rfc3339_nano",
          "time_key": "timestamp"
        },
        "include": [
          "http.handlers.rate_limit",
          "http.log.access"
        ],
        "level": "info",
        "sampling": {
          "first": 10,
          "thereafter": 100
        },
        "writer": {
          "output": "stdout"
        }
      }
    }
  },
  "storage": {
    "host": [
      "[redacted]"
    ],
    "key_prefix": "[redacted]",
    "module": "redis",
    "port": [
      "6378"
    ],
    "tls_enabled": true,
    "tls_insecure": false,
    "tls_server_certs_pem": "[redacted]"
  }
}

Thank you for the report!
Let me look into this. I'll look for code paths that may unintentionally try to acquire the lock on a locked lock.
Do the block and mutex profiles have anything in them?

They currently report zero events, I think this is because we need to patch in calls to runtime.SetBlockProfileRate() and runtime.SetMutexProfileFraction() first.

Ah, of course.
Well, I have been thoroughly reviewing all uses of the mutex here:
https://github.com/mholt/caddy-ratelimit/blob/89a7fece9addf6881169642d0b8a18e79d58e179/ringbuffer.go#L27
And I cannot find any place that would not reliably unlock. It seems that all critical sections of this mutex either defer the unlock (and in the rest of the function, do not make any function calls that would be recursive or lead to another call to Lock), or lock and unlock right away after just one or a few LoC that do basic operations like variable assignments, computation, etc.
My next idea was to examine the profile above and see if I could find anything suspicious. I'd be looking for a stack that includes the ratelimit package -- specifically a code path that has a lock on that mutex -- that might be the culprit for blocking the other 20k+ goroutines... but the stack traces I can see there don't seem to be capable of creating a deadlock...
I also looked through your caddy-ratelimit fork and don't see anything suspicious... nothing stands out to me.
Granted, I did this all while supervising a newborn, so it's possible I missed something (I'm still getting used to this life, heh) BUT I definitely want to rack down where that lock is not being released.

Just as I submitted my last reply, I had another realization: the rate limiter is pooled, so I wonder... is it possible that one is going back into the pool before it is done being used / before it is unlocked? I will need to look at that tomorrow (unless you beat me to it).

Giving the source code a close read I've reached similar conclusions as you. I also can't see an angle where a ringBufferRateLimiter is placed back into the pool but also being used--AFAICT anything coming out of the pool should be ready for initialization. But it's the most suspicious code so far, especially since there's one ringBufferRateLimiter.initialize() call that is stuck.
I think my next step is to try to reproduce this in a development environment with some artificial load and a custom caddy build with mutex profiling enabled.

Glad I'm not the only one at that conclusion!
Another option would be to eliminate the pool and just allocate every time. If the issue goes away, then it's almost certainly the pool, I bet.

We haven't had much luck reproducing it with artificial load so we're moving on to Testing in Production :tm:, with the custom profiling build. If that proves unenlightening I'll also make a build with the pool removed.

Dang, okay sounds good. Keep me posted, and I'll try to revisit this soon!

Caddy was OOM Killed for the first time this week, with no obvious cause. I use ratelimit and found this issue while looking for suspects. Should it occur again, what steps do I need to take to be helpful in troubleshooting the problem?

@DzigaV Thanks for chiming in. So yeah, if you'd be able to capture a profile when the memory use starts going up, that'd be helpful -- either that, or modify the code a little bit to disable the pool as described above. If it doesn't recur without the pool, then that's a good indication the pool is the bug.

Sorry for taking a while to get back to this, vacations and competing priorities and whatnot.
We were able to reproduce the issue once about a week ago, but unfortunately weren't able to get profiling out of it. Otherwise we haven't been able to reproduce. What's interesting is that we've not been able to reproduce since making some bug fixes to our upstream server. One in particular involved fixing a panic bug, i.e. a situation where the upstream suddenly drops a connection.
Might suggest needing to do some fuzzing/fault injection tests locally. I don't think I'll have time to do this though--as long as Caddy is now behaving.
As for troubleshooting @DzigaV, if you're able to make a build of caddy with mutex and block profiling turned up. Note this increases the overall (stable) memory usage of caddy.
Then we collect mutex, block, and stack profiles periodically.
for profile in mutex goroutine block; do
  curl -sL localhost:2019/debug/pprof/${profile}?debug=1 >${profile}.txt
done

For profiling, you might benefit from this article: Profiling Caddy. If you're using Grafana, you can point the Pyroscope scraper at Caddy for continuous profiling collection.

Huzzah! We were able to capture block and mutex profiles for a couple of instances that had the issue.
Haven't looked into these yet though, looking now.
pprof-aggregator-profiling-796d76dbb8-hvjqp-2024-02-28T16-47-42+00-00.tgz
pprof-aggregator-profiling-796d76dbb8-qq9nc-2024-02-28T07-31-23+00-00.tgz

Here's a healthy replica, for comparison.
pprof-aggregator-profiling-796d76dbb8-6wfrr-2024-02-28T17-10-09+00-00.tgz

I think this stack trace from a goroutine profile is what we're looking for. (The number of goroutines has been going up in tandem with open file descriptors when this gets stuck, and this profile contains a total of 4960 goroutines.)
4407 @ 0x43e52e 0x44fa38 0x44fa0f 0x46d8e5 0x48d33d 0x1779ae9 0x1779acb 0x177717a 0x17789ec 0x121ebec 0x1225efa 0x120ac09 0x1225c89 0x120ac09 0x1228348 0x12018f5 0x120ac09 0x12274ce 0x76d2ce 0x7691b4 0x471a61
#       0x46d8e4        sync.runtime_SemacquireMutex+0x24                                                                               runtime/sema.go:77
#       0x48d33c        sync.(*Mutex).lockSlow+0x15c                                                                                sync/mutex.go:171
#       0x1779ae8       sync.(*Mutex).Lock+0x48                                                                                sync/mutex.go:90
#       0x1779aca       github.com/mholt/caddy-ratelimit.(*ringBufferRateLimiter).MaxEvents+0x2a                                        github.com/mholt/caddy-ratelimit@v0.0.0-20240115171705-89a7fece9add/ringbuffer.go:102
#       0x1777179       github.com/mholt/caddy-ratelimit.Handler.distributedRateLimiting+0x79                                           github.com/mholt/caddy-ratelimit@v0.0.0-20240115171705-89a7fece9add/distributed.go:193
#       0x17789eb       github.com/mholt/caddy-ratelimit.Handler.ServeHTTP+0x2ab                                                        github.com/mholt/caddy-ratelimit@v0.0.0-20240115171705-89a7fece9add/handler.go:191
#       0x121ebeb       github.com/caddyserver/caddy/v2/modules/caddyhttp.(*metricsInstrumentedHandler).ServeHTTP+0x54b                 github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/metrics.go:137
#       0x1225ef9       github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1+0x39                                   github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331
#       0x120ac08       github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP+0x28                                    github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58
#       0x1225c88       github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1+0x2c8                     github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300
#       0x120ac08       github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP+0x28                                    github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58
#       0x1228347       github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).enforcementHandler+0x247                            github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:429
#       0x12018f4       github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Provision.(*Server).wrapPrimaryRoute.func1+0x34        github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:405
#       0x120ac08       github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP+0x28                                    github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58
#       0x12274cd       github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).ServeHTTP+0xf2d                                     github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:341
#       0x76d2cd        net/http.serverHandler.ServeHTTP+0x8d                                                                           net/http/server.go:2938
#       0x7691b3        net/http.(*conn).serve+0x5f3                                                                                net/http/server.go:2009

Alright I have a plausible theory. TL;DR there's a data race between sync.Pool creating a new a ringBufferRateLimiter and .initialize()ing it.
Let's look at https://github.com/mholt/caddy-ratelimit/blob/master/handler.go#L174. For clarity, I've destructured the if statement.
		limiter := ringBufPool.Get().(*ringBufferRateLimiter)
		val, loaded := rl.limiters.LoadOrStore(key, limiter)
		if loaded {
			ringBufPool.Put(limiter) // didn't use; save for next time
			limiter = val.(*ringBufferRateLimiter)
		} else {
			// as another side-effect of sync.Map's bad API, avoid all the
			// work of initializing the ring buffer unless we have to
			limiter.initialize(rl.MaxEvents, time.Duration(rl.Window))
		}

Suppose we've just began the program. Goroutine A runs LoadOrStore() and stores a new ringBufferRateLimiter into the map.  Notably, it doesn't get to run limiter.initialize().
Goroutine B comes along and services a similar request. B runs LoadOrStore() with the same key, and retrieves the limiter that was stored by A. This limiter hasn't been initialized!
Suppose the scheduler is giving broad latitudes to goroutine B. B proceeds to:
			if err := h.distributedRateLimiting(w, repl, limiter, key, rl.zoneName); err != nil {
				return err
			}

Which then invokes https://github.com/mholt/caddy-ratelimit/blob/master/distributed.go#L226:
	limiter.mu.Lock()
	count, oldestLocalEvent := limiter.countUnsynced(now())

Notice it's taking the rate limiter lock. Let's consider what happens when we run countUnsynced on an initialized ratelimiter.
func (r *ringBufferRateLimiter) countUnsynced(ref time.Time) (int, time.Time) {
	var zeroTime time.Time
	beginningOfWindow := ref.Add(-r.window)

        // ...
	for eventsInWindow := 0; eventsInWindow < len(r.ring); eventsInWindow++ {
		// ... doesn't matter since len(r.ring) == 0 and this loop is never run.
	}

	// if we looped the entire ring, all events are within the window
	return len(r.ring), r.ring[r.cursor]
}

We get an out of bounds panic on return len(r.ring), r.ring[r.cursor], since r.ring is an empty slice and r.cursor is the default value of 0. Goroutine B panics while holding the lock, leaving it locked and blocking everyone else using the same rate limiter.
This explains why there's one .initialize() call hanging out in the pprof goroutine trace. Probably goroutine A resumes and attempts to initialize the rate limiter, and is forever blocked.
Unfortunately I can only validate that countUnsynced panics on an uninitialized ringBufferRateLimiter. Whether this is what's happening is more difficult to prove. I haven't seen any messages about panics our out of bounds access in our logs. This may be representative of our logging configuration, however.

Nice -- that could possibly be it. I was skeptical of that pool, but didn't have time to dive into it further.
If that is what's happening, I wonder if we need to initialize it before putting it into the UsagePool, or use LoadOrNew instead of LoadOrStore. That might allow us to ensure initialization always happens. (Perhaps the performance penalty will be minimal since we're reusing the rate limiters anyway.)

I'm working through a patch now.
One thing I've noticed while iterating is I think a panic in the rate limiter handler isn't logged at a high enough level. It seems to be logged at DEBUG. Here's an example of me running go test while inducing an artificial panic in Handler.ServeHTTP() and setting the default log level to DEBUG.
2024/03/04 19:56:39.423 DEBUG   http.stdlib     http: panic serving <IP_ADDRESS>:59932: kaboom!
goroutine 265 [running]:
net/http.(*conn).serve.func1()
        /nix/store/y0b9igzsns6mx4gyj7ivr8l16vr397wq-go-1.21.5/share/go/src/net/http/server.go:1868 +0xb0
panic({0x101c33480?, 0x101f3bf80?})
        /nix/store/y0b9igzsns6mx4gyj7ivr8l16vr397wq-go-1.21.5/share/go/src/runtime/panic.go:920 +0x26c
github.com/mholt/caddy-ratelimit.Handler.ServeHTTP({0x140002a3590, 0x0, 0xdf8475800, 0x140005ce7d0, {0x0, 0x0, 0x0}, {0x14000139190, 0x1, 0x1}, ...}, ...)
        /Users/inahga-work/Projects/caddy-ratelimit/handler.go:168 +0x174
... more stack trace

This would explain why I haven't seen panics in the logs. This seems like a bug to me, as I think panic should complain very loudly. However, I'm not sure if I'm holding it wrong.

@inahga Ah, I see the difficulty here. A while back (big-O of "years") we made logs from net/http standard library emit at the DEBUG level because they're quite noisy and often unnecessary.
I didn't consider that the std lib would panic, and that it would also be hidden behind a DEBUG log :sweat_smile: Wow.
So yes, I agree panics should be louder, but ideally without opening the firehose from the net/http package as a whole.
Amazing work figuring that out!!

I suspect a Handler further up in the chain can be used to recover() from the panic and verbosely log, before net/http gets the chance to recover() and swallow the panic. Sort of like this.
This would also allow for a mode where panics abort the program. Perhaps generally useful for debugging and development.
Either way this would have to be done in Caddy itself, so I'll take this to a different issue/PR.

@inahga FWIW. we set the ErrorLogger on the HTTP server to a zap log at DEBUG level here:
https://github.com/caddyserver/caddy/blob/258d9061401091c014c247d39d33d07bc178c66c/modules/caddyhttp/app.go#L355
I've done recover wrapping like that before -- if we can in fact get that to work, I'd be open to it!


Tooltip text in search field references Regex

The text says:
Search by service id, service name or service regex
which should change to:
Search by service id, name or description

@doodelicious there is a small typo in the most recent commit:
It says: Search by Service ID, Name, or Descriptions


db: Allow case-insensitive like queries

Hi @mcollina,
I would like to have the possibility to make case-insensitive OpenAPI calls.
How about adding ilike modifier to APIs or add an option to translate like modifier to ilike query?
Tell me what option you prefer and I'll start working on it

I think adding an ilike query parameters would be amazing!

done, PR #3426


Development installation not working

I followed the development installation instructions from the README and it doesn't seems to work, here is what I did:
conda create -n plab38 python=3.8 -c conda-forge --yes

Then ran the installation from the README.md
# Clone the repo to your local environment
# Change directory to the papyri_lab directory
# Install package in development mode
pip install -e .
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Server extension must be manually installed in develop mode
jupyter server extension enable papyri_lab
# Rebuild extension Typescript source after making changes
jlpm build

Output Error:
Jupyter command `jupyter-labextension` not found.
Enabling: papyri_lab
- Writing config: /Users/aktech/miniconda3/envs/plab38/etc/jupyter
    - Validating papyri_lab...
/Users/aktech/quansight/papyri-lab/papyri_lab/handlers.py:20: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if module is "*":
      papyri_lab 0.1.0 OK
    - Extension successfully enabled.
zsh: command not found: jlpm

I installed jupyterlab after this
pip install jupyterlab

Then I got the following error:
WARNING: Build tool `jupyter-packaging` is missing. Install it with pip or conda.
Installing /Users/aktech/quansight/papyri-lab/papyri_lab/labextension -> papyri-lab
Symlinking: /Users/aktech/miniconda3/envs/plab38/share/jupyter/labextensions/papyri-lab -> /Users/aktech/quansight/papyri-lab/papyri_lab/labextension
Traceback (most recent call last):
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/manager.py", line 320, in add_extension
    extpkg = ExtensionPackage(name=extension_name, enabled=enabled)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/manager.py", line 166, in __init__
    super().__init__(*args, **kwargs)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/traitlets/traitlets.py", line 1361, in __init__
    value = self._traits[key]._cross_validate(self, getattr(self, key))
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/traitlets/traitlets.py", line 746, in _cross_validate
    value = obj._trait_validators[self.name](obj, proposal)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/traitlets/traitlets.py", line 1233, in __call__
    return self.func(*args, **kwargs)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/manager.py", line 175, in _validate_name
    self._module, self._metadata = get_metadata(name)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/utils.py", line 60, in get_metadata
    module = importlib.import_module(package_name)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 843, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server_terminals/__init__.py", line 9, in <module>
    raise RuntimeError("Jupyter Server Terminals requires Jupyter Server 2.0+")
RuntimeError: Jupyter Server Terminals requires Jupyter Server 2.0+

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/aktech/miniconda3/envs/plab38/bin/jupyter-server", line 8, in <module>
    sys.exit(main())
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_core/application.py", line 285, in launch_instance
    return super().launch_instance(argv=argv, **kwargs)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/traitlets/config/application.py", line 1043, in launch_instance
    app.start()
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/serverapp.py", line 2774, in start
    self.start_app()
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/serverapp.py", line 2670, in start_app
    super().start()
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_core/application.py", line 274, in start
    self.subapp.start()
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/serverextension.py", line 378, in start
    super().start()
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_core/application.py", line 274, in start
    self.subapp.start()
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/serverextension.py", line 272, in start
    self.toggle_server_extension(arg)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/serverextension.py", line 241, in toggle_server_extension
    config_dir, extension_manager = _get_extmanager_for_context(
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/serverextension.py", line 60, in _get_extmanager_for_context
    extension_manager = ExtensionManager(
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/traitlets/config/configurable.py", line 85, in __init__
    super().__init__(**kwargs)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/traitlets/traitlets.py", line 1368, in __init__
    self.notify_change(changes[key])
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/traitlets/traitlets.py", line 1517, in notify_change
    return self._notify_observers(change)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/traitlets/traitlets.py", line 1564, in _notify_observers
    c(event)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/manager.py", line 253, in _config_manager_changed
    self._load_config_manager(change.new)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/manager.py", line 308, in _load_config_manager
    self.from_jpserver_extensions(jpserver_extensions)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/manager.py", line 313, in from_jpserver_extensions
    self.add_extension(name, enabled=enabled)
  File "/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyter_server/extension/manager.py", line 325, in add_extension
    if self.serverapp.reraise_server_extension_failures:
AttributeError: 'NoneType' object has no attribute 'reraise_server_extension_failures'

Internal Error: papyri-lab@workspace:.: This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile
    at q0.getCandidates (/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyterlab/staging/yarn.js:435:5145)
    at xf.getCandidates (/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyterlab/staging/yarn.js:391:1264)
    at /Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyterlab/staging/yarn.js:439:7693
    at ff (/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyterlab/staging/yarn.js:390:11070)
    at ge (/Users/aktech/miniconda3/envs/plab38/lib/python3.8/site-packages/jupyterlab/staging/yarn.js:439:7673)

Is there a document/instructions on how to use the extension?

I've always been confused about exactly how to use jlpm, but I can try rebuilding it. On the IPython side you will need this branch, and you may need an old version of Papyri, unsure.

I had some uncommited local upadte, likely from Scipy, I also updated a bit thre readme with explanations.

Awesome, thanks! Let me take a look.

I'll see if I can get it to work again in the next few days. Right now I'm going to try to respond to rowan and steve to get a snippet to render with react


fix issue with params.pp with strict_variables enabled

When strict_variables are enabled Puppet runs fail with Evaluation Error: Unknown variable: '::redis::params::ppa_repo'.
This happens when the osfamily fact is set to anything but Debian because the ppa_repo variable is not defined and is referenced in init.pp parameters.
Defining the variable under the other osfamilys and setting it to undef fixes the issue.
https://docs.puppetlabs.com/references/latest/configuration.html#strictvariables

Thanks for catching this!


HLS warning check: helloworld.log doesn't contain "setting up clock" message

In recent HLS checking improvements,
in hls.mk, it goes to $(SOLUTION_DIR)*/$(SOLUTION_NAME)/$(SOLUTION_NAME).log  to look for something like: Setting up clock 'default' with a period of 4ns. but this log file doesn't contain this line. Instead, this line can be found in vivado_hls.log.
So the checking doesn't happen actually, and /bin/sh: line 0: [: 4: unary operator expected will be shown.
	@if [ $(HLS_ACTION_CLOCK) != $(shell grep "Setting up clock" $(SOLUTION_DIR)*/$(SOLUTION_NAME)/$(SOLUTION_NAME).log |cut -d " " -f 12|cut -d "n" -f 1) ]; then \
		echo " ---------------------------------------------------------- "; \
		echo " ERROR: Action was last compiled with a different HLS clock."; \
		echo " Please force the recompilation with a 'make clean' command";  \
		echo " ---------------------------------------------------------- "; exit -1; \
	fi

=========
hdclf037: luyong /afs/bb/u/luyong/capi/vol2/temp/master/actions/hls_helloworld/hw $ make
/afs/vlsilab.boeblingen.ibm.com/u/luyong/capi/vol2/temp/master/actions/scripts/create_run_hls_script.sh
-n helloworld
-d hlsUpperCase
-w hls_action
-p xcvu3p-ffvc1517-2-i
-c 4
-f "action_uppercase.cpp "
-s /afs/vlsilab.boeblingen.ibm.com/u/luyong/capi/vol2/temp/master
-x """" > run_hls_script.tcl
vivado_hls -f run_hls_script.tcl >> /afs/vlsilab.boeblingen.ibm.com/u/luyong/capi/vol2/temp/master/hardware/logs/action_make.log
rm -f -rf hlsUpperCase_xcvu3p-ffvc1517-2-i/helloworld/syn/systemc hlsUpperCase_xcvu3p-ffvc1517-2-i/helloworld/syn/verilog
/bin/sh: line 0: [: 4: unary operator expected
Checking for critical warnings during HLS synthesis .... OK
Checking for critical timings during HLS synthesis  .... OK
Checking for reserved MMIO area during HLS synthesis ... OK

Thanks Lu Yong. I saw that once in the past but cannot have it recreated. I'll continue trying

corrected by pull request #868

add correction #872 since patch implemented in #868 works with HLS 2018.1 and not for 2018.2 and later.

@luyong6 . this is an old issue corrected . tell me if we can close the issue

Closing this issue since corrected


Power function and notation are not working

Both pot (x, y) function and x^y power notation are not working at http://ossanha.github.io/portugol/www/
pot (2, 2)
[error]
Undeclared variable(s):
pot on line(s) 9

2^2
[error]
File "", from line 9 character 7 to line 9 character 10 : Cannot convert real into inteiro

pot is not the power function in portugol. At least not in VisuAlg, according to http://www.cafw.ufsm.br/~bruno/disciplinas/introd_programacao/materiais/visualg/help/funcoes.htm .
You are looking for the function exp.
The second error is more cumbersome. Could you give me the whole program ?
It seems you might be trying to assign the result of a power call to a integer variable, which I do not permit (this type conversion is not safe, and there are a lot of possible ways to round a float into an integer, none of them should be preferred).

You're right in both cases. This example confuses me: https://github.com/ossanha/portugol/blob/master/tests/pot.alg and I was trying to assign the result of a power call to a integer. I tested both at http://ossanha.github.io/portugol/www/ but seems like my portugol compiler is not working properly.
Thank you, Richard.

This code
https://github.com/ossanha/portugol/blob/master/tests/pot.alg
was just an exercise in using recursion. This is a very ineffective way of computing the power of
a real and the basic recursive definition only works for integral exponents (this is where the n: inteiro comes from).
Otherwise, VisuAlg allows to mix integers and reals if you promote integers as reals (this is mostly the same rules as in C). As it feels natural to a vast majority of students, I kept this functionality.
In this case, if x : real, 2 * x is real two and works as 2.0 * x. if x is the result of a call to power, the same rule applies. If you need to convert a real into an integer, use the function int, which will truncate the float/real.


Can not show UI and predict

Hi, I'm a student interest in Federated Learning.
I ran the client program and there was no problem, and the model also can return to the server-side
When I ran server-side,
http://localhost:9997/service/federatedservice/available can run,
but there wasn't show UI on the web.
And I ran PhotoLabellerServer/model/src/main/kotlin/com/mccorby/photolabeller/ml/Main.kt,
the compiler showed
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
	at com.mccorby.photolabeller.ml.MainKt.main(Main.kt:42)]

Process finished with exit code 1

I tried to find the solution for a long time, but I still not understand where is the problem,
Has anyone solved it?
Thanks!

I solved the problem!
If you use IntelliJ or Android Studio, You should right-click Main.kt -> Edit 'MainKt' ->
Add train /directory web in  Program arguments column, and you can open the DL4J UI and training!
Annotation: /direct is a valid directory to save the resulting model.


Takeover casket-saver

I would like to takeover the plugin.
I created an issue here that was not responded to in 7 days. https://github.com/Notespeon/casket-saver/issues/6
I also attempted to reach out to the author via the email used in the git commit history, but did not receive a response.

@Notespeon Please respond within the next 2 weeks if you would like to remain the owner of this plugin!

I was granted Collaborator role


Fix strict-warnings build

..which was broken for s390 due to 1c3ace68.

merged to master: https://github.com/openssl/openssl/commit/a74b2eda2fcc386e85c6f859729631b0642c4ee6


Windows 10 how to ?

Is this program working only on Linux?
It seems not possible to run source ~/githubcommit/env.sh under Windows 10.
I tried git bash, Windows Linux Subsystem, Cygwin ... they all can run that line, but all set the env. vars in a linux environment that the later handles.py can't access.

There is no source command in windows so it won't work. I have not tried it over a Windows system as of now. When trying from cygwin, jupyter should be run from within cygwin only.

yea that's what I figure. Have to replace env.sh with a ~.json file and use python to read it.