Add Codecov Integration

Summary
This issue aims to integrate Codecov to improve our code coverage reporting and visibility and add badge to our README file.
Codecov is a tool that helps developers measure and analyze the percentage of source code that is executed during testing. By using Codecov, developers can identify which parts of their codebase are not covered by tests and take steps to improve their test coverage.
Steps

Setup Codecov:

Add Codecov to the project by updating the CI configuration (e.g., GitHub Actions, Travis CI, etc.) to include Codecov in the test workflow.
Ensure the coverage reports are generated using a tool like pytest-cov.

Add Codecov Badge:

After setting up Codecov, obtain the Codecov badge URL from the Codecov dashboard.
Update the README.md file to include the Codecov badge at the top of the file for visibility.

Example GitHub Actions Configuration

name: CI

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: '3.x'

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install pytest pytest-cov codecov

    - name: Run tests
      run: |
        pytest --cov=./

    - name: Upload coverage to Codecov
      run: |
        codecov
      env:
        CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

Example README.md Badge

After setting up Codecov, add the following line to the top of your README.md to display the Codecov badge:
[![codecov](https://codecov.io/gh/USERNAME/REPOSITORY/branch/main/graph/badge.svg?token=YOURTOKEN)](https://codecov.io/gh/USERNAME/REPOSITORY)

Replace USERNAME, REPOSITORY, main, and YOURTOKEN with your respective GitHub username, repository name, branch name, and Codecov token.

Additional Resources

Codecov Documentation
GitHub Actions Documentation
pytest-cov Documentation

Here's a more detailed explanation by CHatGPT.
(Use if helpful. Ignore otherwise.)
Click to expand

How to Use Codecov with a Python Package Hosted on GitHub
1. Create a Codecov Account

Sign up for a Codecov account if you haven't already. You can sign in using your GitHub account for easier integration.

2. Install Codecov in Your Project

Ensure you have pytest and coverage installed in your project. You can install them using pip:pip install pytest pytest-cov

Install Codecov:pip install codecov

3. Configure Your Tests

Update your pytest configuration to generate a coverage report. You can do this by adding a configuration file (pytest.ini, setup.cfg, or directly in the command line).

Example using pytest.ini:
[pytest]
addopts = --cov=your_package_name --cov-report=xml

4. Update Your GitHub Actions Workflow

Create or update your GitHub Actions workflow file (e.g., .github/workflows/ci.yml) to include steps for running tests and uploading the coverage report to Codecov.

Example workflow file:
name: CI

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        python-version: [3.7, 3.8, 3.9, 3.10]

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install pytest pytest-cov codecov

    - name: Run tests with coverage
      run: |
        pytest

    - name: Upload coverage to Codecov
      run: |
        bash <(curl -s https://codecov.io/bash)
      env:
        CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

5. Add Codecov Token to GitHub Secrets

Go to your repository on GitHub.
Navigate to Settings > Secrets and variables > Actions.
Click on New repository secret and add a secret named CODECOV_TOKEN with your Codecov token.

6. Push Changes and Verify

Commit and push your changes to GitHub. This will trigger the GitHub Actions workflow.
Check the workflow run in the Actions tab of your GitHub repository to ensure that the tests and Codecov upload steps are successful.
Visit your Codecov dashboard to verify that the coverage report has been uploaded correctly.

By following these steps, you will integrate Codecov with your GitHub-hosted Python package, enabling automated coverage reporting and insights directly within your GitHub repository.
Do open source python projects usually add a codecov badge somewhere?
User:
Do open source python projects usually add a codecov badge somewhere?
Assistant:
Yes, open-source Python projects often add a Codecov badge to their README file. The badge provides a quick visual indicator of the project's test coverage status, making it easy for contributors and users to see the health of the codebase at a glance. Here's how you can add a Codecov badge to your project:

Get the Codecov Badge URL:

After setting up Codecov for your project, go to your project's dashboard on Codecov.
Look for the badge URL, which is usually in the settings or displayed on the project overview page.

Add the Badge to Your README:

Edit your project's README.md file.
Add the Markdown code for the badge at the top of the README file.

Here is an example of how to add the badge:
# Your Project Name

[![codecov](https://codecov.io/gh/username/repo/branch/main/graph/badge.svg)](https://codecov.io/gh/username/repo)

## Description

Your project description goes here.

Replace username, repo, and branch with your GitHub username, repository name, and the branch you want to track, respectively.
Example GitHub Issue to Add Codecov Badge
You can create a GitHub issue to add the Codecov badge to your README file:

Title: Add Codecov Badge to README
Description:
To provide a quick visual indicator of our project's test coverage, we should add a Codecov badge to the README file. This will help contributors and users to easily see the coverage status and maintain code quality.

Copy the badge URL provided by Codecov.

Edit the README File:

Open README.md in your project's root directory.
Add the following Markdown code at the top of the file, replacing username, repo, and branch with the appropriate values:

# Your Project Name

[![codecov](https://codecov.io/gh/username/repo/branch/main/graph/badge.svg)](https://codecov.io/gh/username/repo)

## Description

Your project description goes here.

Commit and Push Changes:

Commit the changes to the README file.
Push the changes to the repository.

Benefits:

Provides a quick visual indicator of test coverage.
Encourages contributors to maintain and improve test coverage.
Enhances the project's documentation by showing coverage status.

Resources:

Codecov Documentation
Codecov Badge

Adding the Codecov badge is a simple but effective way to communicate the health of your project's codebase.


Add serverclass type

Added a new type that allows the creationg of deployment server 'server classes'.

[x] Added Unit tests for it
[x] Added acceptance tests
[x] Went ahead and added the same acceptance tests for all other configuration files on a splunk server
closes #147

Closing an reopening.  Travis isn't kicking in to rebuild this!

@bastelfreak any idea how to get travis unstuck?  the status check isn't happening?  Should i close and reopon the PR again?

Thanks for the PR @TraGicCode!


Kali Linux Installed in VirtualBox

Issue: #2
Installed Kali Linux in VirtualBox and created a folder Skr-suyash/week1/installkali

Hey @Skr-suyash
PR Template is not followed. Kindly follow the template & edit it again for consideration as a valid pull request.
Thanks for contributing in OpenCode'24 ✨✨!

Hey @Skr-suyash
Thanks for opening this PR 🚀. Mentor will review your pull request soon and till then, keep contributing and stay calm.
Thanks for contributing in OpenCode'24 ✨✨!

Hey @Skr-suyash
Your PR has been merged 🥳🥳 and you have earned 20 points.
Thanks for contributing in OpenCode'24 ✨✨


⚠ Inventory API Endpoint has degraded performance

In 7bd7bde, Inventory API Endpoint (https://inventory.roblox.com/v1/users/82738847/assets/collectibles?limit=10&sortOrder=Asc) experienced degraded performance:

HTTP code: 500
Response time: 1155 ms

Resolved: Inventory API Endpoint performance has improved in 481c3b3 after 2 minutes.


Update docs for useTestBranchKey

getTestInstance is deprecated in favour of useTestBranchKey

Result of Integration 1
Duration: 11 minutes and 53 seconds
Result: Perfect build! All 199 tests passed. :+1:
Test Coverage: 60%

Thanks for the doc update.  I'll check the other docs too.


Add your details on the Team Page - For OSDW 2017

Add yourself to the team with a photo/avatar with links to your profiles on linkedin/twitter

This issue was moved to kashifzaidi1/Messiah-Web#4


Any option to add more VMs after the start/stop is created.

Is there any option to add more VMs after the start/stop is created?
After the schedule is created to start/stop, where can check which VMs are in that schedule ?

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

ID: 225c9d05-83dd-b006-0025-3753f5ab25bf
Version Independent ID: 9eecef0c-b1cb-1136-faf7-542214492096
Content: Start/Stop VMs during off-hours solution (preview)
Content Source: articles/automation/automation-solution-vm-management.md
Service: automation
Product: unspecified
GitHub Login: @georgewallace
Microsoft Alias: gwallace

@zarchigl Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@zarchigl Sorry for the delay in responding.. Yes you can add new VMs by modifying the resource groups the solution targets.. they are stored in two variables External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames.  One is for the start logic, the other is for the stop logic.  If you add a VM to the resource groups referenced in these variables they will be automatically added.  If you want new resource groups you can just add them to the command separated list in this variable. All VM's targeted by this solution are within those resource groups in the variables I mentioned above.

@zarchigl If there are no other questions, #please-close this issue.  If you have any other questions please feel free to open another issue.

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


fix highlight when using animate

when animate is used, the dropdown is not scrolled to the selected item - this commit calls "_ensureHighlightVisible" in this case, to fix it

HI @gboros can you show a working an non working example for me?
So I can see what the original problem is ,thanks

hi
here is a non-working example : https://plnkr.co/edit/TWDf59jpdY7UuFf3BtTI?p=preview The dropdown should scroll to 'eleven'. If you change to use the 'select-fixed.js', that contains the PR, it will scroll


Zendesk to Snowflake extraction broken

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/198
Originally created by @tayloramurphy on 2018-12-06 15:12:45

https://gitlab.com/meltano/analytics/-/jobs/130662324
Seems like a broken pipe error

View 3 previous comments from the original issue on GitLab


Long item name: unable to see it all without openning

Is your feature request related to a problem?
When browsing trough a specific collection: https://canary.kodadot.xyz/ksm/collection/7C4F2330F148B37477-CELES?collectionId=7C4F2330F148B37477-CELES&listed=false and looking at a similar issue #6113, the same approach about adding a tool-tip when hovering trough a long named item inside a collection could help the user experience.
in the collection above, the names are too large, and images are all the same, making it difficult for the user to check the series numbers.
Describe the solution you would like
tooltip when hovering over names
Describe alternatives you have considered
|
Screenshots

Are there opened related issues?
No response

@prury  @JustLuuuu Hi~ I noticed that it already had tooltip when hovering over names. So this feature request has already been done, right? Or is there anything I could do with it?

@prury @JustLuuuu Hi~ I noticed that it already had tooltip when hovering over names. So this feature request has already been done, right? Or is there anything I could do with it?

humm, yeah, this one got solved already, just don't know by which PR

@prury @JustLuuuu Hi~ I noticed that it already had tooltip when hovering over names. So this feature request has already been done, right? Or is there anything I could do with it?

humm, yeah, this one got solved already, just don't know by which PR

get it. Let's close this issue~

Already solved


Update tree query to take execution space argument

I dropped commits that were getting rid of the DeviceType template argument for Details:: BatchedQueries because we run into the same issue where we need overloads that cast the views to const the data type (see https://github.com/arborx/ArborX/pull/244#issuecomment-601882373)
We can revisit later.


split badge and score calculator

developers can easily replace the score calculator

@simpspector/owners ready :-)

btw. i haven't changed the behavior

I don't see all the implications this one has. Is it only to make it extendible? If I don't find the time to look into details, you can count me as +1 for merge.

yes, and i moved view things like score color in the twig extension :wink:

:-1:


opticks-externals-install fails

opticks-externals-install fails with
CMake Error at CMakeLists.txt:206 (message):
RandR headers not found; install libxrandr development package

However if I run:
opticks-full-prepare
opticks-externals-install
I get
############## glm ###############
'glm' -> 'glm-<IP_ADDRESS>/glm'
=== glm-get : planting symbolic link for access without version in path
############## glfw ###############
gmake: Makefile: No such file or directory
gmake: *** No rule to make target 'Makefile'.  Stop.
=== glfw-- : make/instal FAIL
=== opticks-installer- : RC 3 from pkg glfw : ABORTING

Solved by entering cd /usr/local/opticks/externals/glfw/glfw-3.3.2.build/ and running cmake, gmake by hand.
Then had other errors but running the install script written by CaTS devs solved the errors and the install ran successfully from within the shell.

In esi-shell we don't install external dependencies via opticks-externals-install command. The glm package is installed by Spack and can be found by any cmake script using the standard find_package command. You can check all installed packages with spack find or spack find -p glm if you need its specific location.
The /usr/local/opticks/externals/ directory does not exist in the container and it is not needed to compile Opticks.

You suggested to build CaTS within the shell. For CaTS opticks-externals-install is required per documentation.

Thanks for the info, I will check how that works anyway!

Sure. There are different ways to reach the same goal. The CaTS developers are not aware of the changes we have in our fork bnlnpps/esi-opticks


Handling ranges

Curious what your thoughts are @ZevEisenberg on handling different styles in a string given I don't see a reference to a Range object in your code. Lets take this for example:
This part is red. This part is blue.

@ekimia the recommended way to handle that in BonMot is to use XML (see the XML section of the ReadMe for more information). Do you have a use case that wouldn't be handled well by XML?

Ah great!. When I get some time ill play with adding a + operator for NSAttributedString to accomplish the same


Metatype fixes

https://github.com/solettaproject/soletta/issues/1713
https://github.com/solettaproject/soletta/issues/1677

lgtm. Just check the @note comments.

merged with the fixes.


Updated Review.jsx mobile vertical dark mode

WHAT DOES THIS PR DO?

Fixes the white cutoff on the review page in the vertical iPhone 12 Pro dimensions in dark mode

WHAT ISSUES ARE RELATED TO THIS PR?

#156

HOW DO I TEST OUT THIS PR?

cd to web directory and run locally by doing 'npm run dev'
go to the website and add '/review' to the url to see the review page
use inspect element and use 'toggle device toolbar' to switch to iPhone 12 Pro dimensions
you should see that there is no white cutoff

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

Comparison is base (89e750d) 91.56% compared to head (5297031) 91.56%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #157   +/-   ##
=======================================
  Coverage   91.56%   91.56%
=======================================
  Files          29       29
  Lines         830      830
  Branches        6        6
=======================================
  Hits          760      760
  Misses         70       70

Flag
Coverage Δ

web
100.00% <ø> (ø)

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

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


middleware [logger] & [requestId] logger does not include requestId

What is the feature you are proposing?
There is logger and requestId middleware inside hono. But logger middleware does not include requestId into logs. And it(logger middleware) is pretty much useless in any app where monitoring by requests is needed.
When you log request elapsed time you wanna know for which request is it. I do not see any reason to have it separate. Logging requestId is essential key part for tracing and monitoring an app.
I would suggest to combine these to things or make it possible to include requestId into logs.

How about a customLogger?
export const customLogger = (message: string, ...rest: string[]) => {
  console.log(message, ...rest)
}

app.use(logger(customLogger))

@hls-app and how would you log requestId in this way?
you can't access requestId from custom logger in your example. It is just for different formatting, there is no access to the context from it.

I think I can make the entire middleware myself.
You can refer to it.

@valerii15298 you could call customLogger(Request ID: ${c.get('requestId')}) from any route or you could create your own custom logger as @EdamAme-x suggested.
If you need access to context outside, you can refer to https://hono.dev/docs/middleware/builtin/context-storage

@hls-app thanks, yeah you are right I can access it from context storage. But it is just simpler to create custom middleware instead which I have done for myself. The idea of this issue was somehow to combine logger and requestId middlewares so that user would not need much configuration. Using context storage seems just overkill for me for this task.
And also it is not intuitive for me how context storage works, how it detects which context to return if there could be multiple requests processing at the same time, but that is just my skill issue. Closing this as I do not clearly see how to resolve it and will just use custom middleware.


Issue with ./lr_nag execution: Empty Input Evaluation Key Map Exception

When running the ./lr_nag command , I encountered an error related to an empty input evaluation key map, resulting in a termination of the program. Below is the error message:
bootstrapping enabled
Running in 64-bit mode
Using Bootstrapping
*********************************************
Bootstrapping Crypto Params
        Discrete key used: UNIFORM_TERNARY
        Approx Bootstrap depth: 8
        Levels before bootstrap: 15
        Final Bootstrap Depth:  32
Generating keys
        Mult keys
        EvalSum keys
Feature Analysis:    min     ave    max
        BWTR14: -1 -0.0670072 1
        RECWT: -1 -0.906798 1
        APGAR5R: -1 0.0507812 1
        BFEDN: -1 -0.353516 1
        AB_NICUN: -1 0.474609 1
        APGAR5: -1 -0.815065 1
        CIG_RECN: -1 0.703125 1
        CA_CCHDY: -1 -0.988281 1
        BFEDU: -1 -0.625 1
: 1 1 1 intercept
Feature Analysis:    min     ave    max
        BWTR14: -1.81406 8.75629e-09 2.11671
        RECWT: -0.397435 -1.03125e-08 7.33578
        APGAR5R: -1.69504 -1.62249e-09 1.52858
        BFEDN: -0.699621 5.72989e-09 1.42931
        AB_NICUN: -1.63742 1.29645e-08 0.610703
        APGAR5: -0.650891 2.64614e-09 6.63565
        CIG_RECN: -2.27874 -1.06741e-08 0.43883
        CA_CCHDY: -0.101282 -3.50169e-09 9.87319
        BFEDU: -0.447842 8.56796e-09 2.23288
: 1 1 1 intercept
Feature Analysis:    min     ave    max
: 0 0.5 1MORT
Feature Analysis:    min     ave    max
: 0 0.5 1MORT
        EvalRotate keys
colSize x rowSize = 4096 * 16 = 65536

Bootstrap Iteration: 0 ******************************************************************
terminate called after throwing an instance of 'lbcrypto::OpenFHEException'
  what():  /usr/local/include/openfhe/pke/schemebase/base-scheme.h:l.1214:EvalSumRows(): Input evaluation key map is empty

Steps to Reproduce:
Cloned the repository.
Followed the installation instructions.
Build this repo
Executed the./lr_nag command.
Expected Behavior:
The ./lr_nag command should run without errors and produce the expected output.
Actual Behavior:
The program terminates with the mentioned error related to an empty input evaluation key map.
Additional Information:
Operating System: [Ubuntu20.04]
Compiler Version: [g++ (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0]
I appreciate any guidance or assistance in resolving this issue. Thank you!

I encoutered the same issue. Did you fix it?

Thank you so much for your help! Following your advice, I rolled back the version of openfhe to v1.1.0, and it solved the issue. Really appreciate your assistance.

Could we open this issue back up and aim for a fix isntead of a workaround? Ideally, the repo should work with the latest versions of OpenFHE,  as it is maintained under openfheorg banner.

Is there any way to do this other than reduce the version.The same thing happened to me.OpenFHE Version: 1.1.4


Enable discussions on pypi/flit

I think github discussions are new since the flit github was created.  Would this be a good place to ask questions etc. rather than cluttering issues?

Let's try it out. I've never really used Github discussions, so I'm interested to see how it goes: https://github.com/pypa/flit/discussions


Update FileStore.java

Trailing forward slash as Resolve method could not resolve  the path if it hold / at start
Description

Related Issue

Tasks

[ ] I have signed the CLA.
[ ] I have written tests and verified that they fail without my change.

@mayurbonde thanks for the fix, that's much appreciated!
Could you also add/extend a test that would fail without the fix? And we can't merge it without the signed CLA.

fixed with #260


[ENH] Add AEDCNNClusterer

Implementation of Time Series Clusterer based on dilated convolutional neural networks (DCNN).

#1962

@hadifawaz1999 Can't figure out why this is failing, self._kernel_size_encoder is defined as per my assessment? :)


Update networks with seeds/version/genesis

Signed-off-by: Dylan Schultz<EMAIL_ADDRESS>

Fantastic contribution!


Add Sphinx to autogenerate user-facing docs

Use Sphinx and Sphinx auto-api extension to autogenerate docs to achieve the following:

Better discoverability of the available Async Operators, Sensors and Hooks
Allows us to document the limitations of certain async operators
Add better compatibility matrix of Airflow and astronomer-providers package.
Better Document versioning if we host it to ReadTheDocs

closes: #64

Rebase on main for fixing the failing tests

I made some changes via the following commits @sunank200

https://github.com/astronomer/astronomer-providers/pull/114/commits/511e60ae754937f1d03fb17d19bdb5ae4d8d5361
https://github.com/astronomer/astronomer-providers/pull/114/commits/8360dd13be154d5a1af6c8ad706d55e0aad6ca9d
https://github.com/astronomer/astronomer-providers/pull/114/commits/c25232af95b200cc59c55966f112754dd14dbe81


CLI for inspecting checkpoints

🚀 Feature
A quick way to inspect checkpoint files.
Motivation
We don't know what's inside a checkpoint. Loading one and checking the contents requires us to write a python script.
A command line tool could help us load and inspect these checkpoint files conveniently. Useful for debugging too.
Pitch
My implementation is here.
Docs
Usage:

> peek path/to/checkpoint.ckpt
displays all top-level variables in a checkpoint file

> peek -i path/to/checkpoint.ckpt
interactive mode, loads the contents in a python interactive shell and let's you modify the contents

Let me know if you want it

Hey @awaelchli, love it !
I had built similar tool before: https://github.com/nicolas-chaulet/torch-points3d/blob/master/scripts/find_runs.py
It could be extended to do the following:
peek -d {dir_path}: Would perform listing of all checkpoints in all sub-directories and sort them based on score / dataset / model.
peek -d {dir_path} --delete 5: Same and delete the checkpoint which didn't train more than 5 epochs.
Best,
T.C

Hey @awaelchli, love it !
I had built similar tool before: https://github.com/nicolas-chaulet/torch-points3d/blob/master/scripts/find_runs.py
It could be extended to do the following:
peek -d {dir_path}: Would perform listing of all checkpoints in all sub-directories and sort them based on score / dataset / model.
peek -d {dir_path} --delete 5: Same and delete the checkpoint which didn't train more than 5 epochs.
Best,
T.C

I like it. It could be a console entry point
$ lightning-ckpt-inspect ...


add greenkeeper

@bpetetot you already did this right ? 😅

It's really easy.
You just have to activate greenkeeper on this repo and launch a build to the CI, then Greenkeeper will be activated automatically.

#51

#53 - initial PR

I am waiting for a first PR (initial init excluded) to close this issue

#62 proof that works


Strict Transport Security header not being set in 3xx responses

Environment info:

KrakenD version: 2.7.0
System info: Linux 5.15.0-1067-azure x86_64
Backend technology: Java
Additional environment information:
Runs inside Kubernetes cluster, internal communication using HTTP and HTTPS for client communication

Describe the bug
It seems that Krakend is not sending the Strict Transport Security http header for redirect responses (e.g. 301), which is unexpected to us since the header is working for all other responses(2xx, 4xx, 5xx). In our config, we disabled the automatic redirection and we expected the header to be present in 3xx responses.
Your configuration file:
{
  {
  "$schema": "https://www.krakend.io/schema/v2.7/krakend.json",
  "version": 3,
  "extra_config": {
    "router": {
      "return_error_msg": true,
      "auto_options": true,
      "disable_redirect_fixed_path": true,
      "disable_redirect_trailing_slash": false,
      "disable_path_decoding": false,
      "remove_extra_slash": false,
      "disable_handle_method_not_allowed": false,
      "logger_skip_paths": [
        "/__health"
      ],
      "disable_access_log": true
    },
    "auth/validator": {
      "shared_cache_duration": 900
    },
    "security/http": {
      "force_sts_header": true,
      "sts_include_subdomains": true,
      "sts_seconds": 31536000
    },
    ...
}
}

Expected behavior
We expected the Strict Transport Security http header for redirect responses to be present since it goes through our krakend api-gateway.

Someone more experienced than me can jump in, but as far as I remember, you had to set ssl_host and ssl_redirect to support proper 301. Also, the STS header is sent ONLY on verified HTTPS connections. If you need the STS header for all HTTP and HTTPS requests (which you shouldn't), you can use the force_sts_header, but if is_development is true during your testing phase, it will still disable this header ignoring the force_sts_header.


Resize

Hi Megan - this is showing up as having a conflict.  Can you take a look and resolve before


Not and Issue but a Thank You 👍

Who ever created this your awesome. This has to be one of my main tool used in the data center.
Great job and Thank you

@HungryHowies Thank you for this :)
It's been awhile since I cannot find the time to invest into it, but I'm glad it's still valuable ❤

@lmenezes
Just an FYI , Opensearch verions 1.3 && 2.6 works great, no issues so far.
I completey understand.

I was just browsing this repo out of curiosity to see if a new version is available and stumbled upon this "issue"  :sweat_smile:
Couldn't agree more, thank you so much @lmenezes . Cerebro is totally awesome and I've been using it way back when it used to be called kopf. Every time I set up new ES cluster, Cerebro is the first thing I install and use it all the time. Of course I use Kibana for monitoring as well, but Cerebro gives me everything I need to know about my clusters 99% of the time. With the docker image and config file it is very easy to provision, never caused any problem. It just works and does its job.
THANK YOU!

Thank you @lmenezes  , I have been using kopf and Cerebro as my go-to tool for ES for the past 6 years .

Thank you so much. We in Italy say "Grazie mille"

Thank you so much. We in France say "Merci beaucoup" :wink:


xgboost dask with specified address/port tries to re-bind to same port in some situations

The default behavior of xgboost with dask is to bind a listener to an ephemeral port on the scheduler.
We had been trying to deploy dask in a way where we only opened specified ports on the scheduler (specifically, running the dask scheduler in a container using bridge networking mode). We tried using xgboost.scheduler_address to set the address/port to one that we explicitly opened.
The problem is that in certain circumstances it appears that xgboost tries to re-bind using xgboost.scheduler_address, which doesn't work... it gets Address already in use error. This happens when trying to run training a second time, and might happen even when running training once but on a larger dataset (not sure about this though).
More details here: https://github.com/coiled/coiled-runtime/issues/150
I'm guessing it should either release or re-use the listener it originally bound, and it's not doing that.
(In case it matters, our solution is probably going to be not using a networking mode that requires opening explicit ports.)

It should release the port once the training is finished. I'm not sure what's happening. Will try to reproduce it on my end.

Perhaps the tracker is not deleted: https://github.com/dmlc/xgboost/blob/545fd4548e303931dafd98d6606454fcdc2b8f2f/python-package/xgboost/tracker.py#L205


Individual region/ethnicity modeling

@david4096 provided an example from interchange of the Populations field of
the 1kgenomes data:
                "Population": [
                    "GBR"
                ],

This seems a little bit unclear as we don't know whether it refers to the collection of the sale or the country of origin of the individual or reflects ethnicity of the individual.
Based on experience in the GWAS catalog, it may be useful to consider having:
BROAD ANCESTRAL CATEGORY: Broad ancestral category to which the individuals in the sample belong
COUNTRY OF ORIGIN: Country of origin of the individuals in the sample
COUNTRY OF RECRUITMENT: Country of recruitment of the individuals in the sample
ADDITONAL ANCESTRY DESCRIPTION: Any other information relevant to the sample description

The Ancestro could be used to formalise those fields.
cc @mbaudis

see also
https://github.com/EBISPOT/ancestro/issues/2
https://github.com/EBISPOT/ancestro/issues/3


feat(wc): web3wallet

Description
Switches the wallet connect library used from @walletconnect/sign-client to @walletconnect/web3wallet which supports use cases that will be available for builders going forward, that the sign-client currently does not support.
getSessionFromRequest and handleAcceptRequest have the largest changes where instead of iterating over an array of sessions from redux to find the session they use client.getActiveSessions() which produces an object from which the session in retrieved. In testing locally occasionally the existing setup would not produce an action request when expected; however, using the client singleton to get the matching session has worked consistently.
Test plan

[x] Existing e2e tests updated to use an updated sign-client for the sample dapp and passing
[x] Existing unit tests passing.
[x] Tested locally on iOS and Android with:

https://react-app.walletconnect.com
https://www.impactmarket.com
https://app.stcelo.xyz
https://mento.finance
https://churrito.fi

Related issues

RET-756

Backwards compatibility
Yes, but users will likely need to reconnect to dapps.

@kathaypacific for this PR I tried to maintain feature parity while moving to web3wallet. Many of the exciting features of web3wallet such as: auth, wallet events and Android deeplinks are not included in this PR.
Web3wallet gives us session management, but unfortunately the 'Sessions.tsx' is still reading from redux. As such I've maintained the state in redux, but when we need the most up to date info we look to the client instead as in getSessionFromRequest and handleAcceptRequest.
Another difference is no equivalent to SignClientTypes.EventArguments['session_update'] in web3wallet; however, it doesn't appear we've lost any utility by removing it.

I recall web3wallet doing something different with the auth signing where we might need to adjust the UI...?

👀  we might need to adjust handleAcceptRequest for transaction signing - otherwise users might see a success message after a signing a transaction with a dapp.

@idelburgo-iomob wrote up this native test app: https://github.com/idelburgo-iomob/walletConnectIntegrationExample.  If it's not too much work, can you test this PR with it @MuckT ?

@silasbw I'll keep that native Android app for testing deeplinks, but that fix will be in a separate PR.

@jeanregisser we might want to revert 97dcf9bb36a4082c5b8f11fce8f245b98367df14 and 93b4435cbe7956d71e13d7df0f209dc5f03e975f prior to merging, but it looks as if our namespace handling is off.

I am occasionally seeing this error when attempt to connect to a dapp which already has an existing session. The session appears to pair correctly and follow up actions on the dapp are being handled correctly. The issue I am seeing now is that the timeout is still triggering after the successful action 🤔.
ERROR  [23:38:04.600Z] SM-G991U1 {"context": "core"} Pairing already exists: 2f5e3c5332ec900345e3a82430dc9e5311eadefbc31d79b3b89b0bf6db072d90


fail2ban no longer starting after python 3.12 upgrade (unstable)

Describe the bug
This morning fail2ban fails to start (unstable)
Steps To Reproduce
Build system with services.fail2ban.enable = true;
Expected behavior
fail2ban to start
Screenshots
warning: the following units failed: fail2ban.service

× fail2ban.service - Fail2Ban Service
     Loaded: loaded (/etc/systemd/system/fail2ban.service; enabled; preset: enabled)
    Drop-In: /nix/store/mvclw544i35h5rs1nfhzb7a4zm01x3j7-system-units/fail2ban.service.d
             └─overrides.conf
     Active: failed (Result: exit-code) since Tue 2024-07-09 11:11:36 BST; 30s ago
   Duration: 766ms
       Docs: man:fail2ban(1)
    Process: 31555 ExecStart=/nix/store/7isxvz0z77rcrcjj5h1ahp516s6a7z7d-fail2ban-1.0.2/bin/fail2ban-server -xf start (code=exited, status=255/EXCEPTION)
   Main PID: 31555 (code=exited, status=255/EXCEPTION)
         IP: 0B in, 0B out
        CPU: 562ms

Jul 09 11:11:35 glados systemd[1]: Started Fail2Ban Service.
Jul 09 11:11:35 glados fail2ban-server[31555]: 2024-07-09 11:11:35,971 fail2ban.configreader   [31555]: WARNING 'allowipv6' not defined in 'Definition'. Using default one: 'auto'
Jul 09 11:11:36 glados fail2ban-server[31555]: 2024-07-09 11:11:36,022 fail2ban                [31555]: ERROR   No module named 'asynchat'
Jul 09 11:11:36 glados systemd[1]: fail2ban.service: Main process exited, code=exited, status=255/EXCEPTION
Jul 09 11:11:36 glados systemd[1]: fail2ban.service: Failed with result 'exit-code'.
warning: error(s) occurred while switching to the new configuration

Additional context
Probably the python 3.12 upgrade since a few other packages have had to be disabled.
Notify maintainers
@Izorkin I think
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.9.8, NixOS, 24.11 (Vicuna), 24.11pre650378.655a58a72a66`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.4`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.
Thank you!

https://github.com/NixOS/nixpkgs/pull/325602 ?

Ah, thanks - I only looked in issues! I'm sure that'll do it.

Ah, thanks - I only looked in issues! I'm sure that'll do it.

For reference, this is my patched Nix system configuration flake:
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
    nixpkgs-fail2ban.url = "github:pan93412/nixpkgs/fail2ban-update";
  };

  outputs = { self, nixpkgs, nixpkgs-fail2ban, ... }:
  let
    nixpkgs-fail2ban-pkgs = import nixpkgs-fail2ban { system = "x86_64-linux"; };
  in
  {
    nixosConfigurations."hostname" = nixpkgs.lib.nixosSystem {
      specialArgs = {
        nixpkgs-fail2ban = nixpkgs-fail2ban-pkgs;
      };

      system = "x86_64-linux";
      modules = [
        ./machine/linux.nix
      ];
    };
  };
}

{ pkgs, nixpkgs-fail2ban, ... }:
{
  services.fail2ban.enable = true;
  services.fail2ban.package = nixpkgs-fail2ban.fail2ban;
}

Not sure if this is a good practice. At least it works on my machine.

Yeah that fixed it for me, thanks

I just did it the old way but yeah:
let pkgsPan = import (builtins.fetchTarball
    "https://github.com/pan93412/nixpkgs/archive/refs/heads/fail2ban-update.tar.gz"
  ) {};
in {
-----snip-----
services. fail2ban.package = pkgsPan.fail2ban;
-----blah-----


Group Projects - Milestone 2

High priority (must-fix)

[x] Add description in all the graphs, especially define your motive and outcome
[x] Use the summary section to summarize the analysis or a conclusion at the end to show how well did you answer all the research question

Medium Priority (should-fix)

[x] Explore the relationship between variables, most importantly explore the data.
[x] Explore which attribute or a combination of attributes (e.g., height, weight, or BMI) make a good basketball player

Exploring the dataset could have been better, however, you guys did a great job at answering the research question.


Update storage-sync-files-deployment-guide.md

Fixed typo.

@chriscattermole : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@chriscattermole : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks correct; merging. Thanks @chriscattermole.


Add top-consumers-across-time report

See https://github.com/NAICNO/Jobanalyzer/issues/70#issuecomment-1792184128.  As for the 30-day deadweight and cpuhog reports, we could have a 30-day top-consumers report.  This is a little invasive; we should discuss that, and the utility of the report.

Also see #55.


feat: allow easy modification of  email templates

remove hardcoded values and pass in config values, if no values use default 10 - access token 24 - hours refresh token

I think the best solution, especially with making auth dumb easy to use in k8s, is to store the email templates in the database, then can push modifications through the admin api.
Ultimately working toward to customize them through the admin UI once there


Parsing fails upon encountering optional chaining

Upon encountering an optional chaining operator, the parsing fails. I am using this in the Jest VS Code Extension, but I have also tried the other popular Jest VS Code Extension, both of which fail and both of which use this library. Here is an example that you can try yourself:
This parses correctly. In VS Code, I can see the "Run | Debug" floating over the tests.
describe("Normalization", () => {
    test("adds a module to every assignment", () => {
        expect(assignment.module.name).toBe("AuthenticationFramework");
    });
});

When you add the question mark (optional chaining operator), it no longer parses correctly.
This does not parse correctly. I cannot see the "Run | Debug" floating over the tests anymore.
describe("Normalization", () => {
    test("adds a module to every assignment", () => {
        expect(assignment.module?.name).toBe("AuthenticationFramework");
    });
});

I see now that this is because this library does not execute parse from the @babel/parser library with an extensions, so only the bare minimum "vanilla Babel" would be supported. I believe this should be easy to fix by requireing the local babel.config.js file (or making it configurable, at least) so that the required Babel plugins can be used.
In my case, I believe this plugin would fix it, but again, this library does not use any of the plugins that I indicate in babel.config.js.

hmmm... actually the parser should be able to parse the output from all plugins, see here. But it doesn't load the plugin for you, your project will still need to load the particular plugin so it can be transpired correctly for the parser to parse...
where did you see the error message? from the output window or developer console? Are you able to run jest in the terminal? Is vscode-jest using the same command (jest.pathToJest) above?
If you still have problems, please create a sample repo so we can quickly narrow it down.

@connectdotz I have installed the two related plugins just to be sure. Neither worked.
        "@babel/plugin-proposal-optional-chaining": "^7.11.0",
        "@babel/plugin-syntax-optional-chaining": "^7.8.3",

And in babel.config.js, I indicated that I want both to be used.
    plugins: [
        "@babel/plugin-syntax-optional-chaining",
        "@babel/plugin-proposal-optional-chaining",
    ],

But still, the problem persists.

where did you see the error message? from the output window or developer console? Are you able to run jest in the terminal? Is vscode-jest using the same command (jest.pathToJest) above?

All of my tests run fine when I run with the jest command line, either via npm run test or the jest command directly.

For clarity, I have tried with both plugins individually as well.

@JonathanWilbur this might sound silly, but you did restart the extension after adding the babel plugin, right?
If none worked, please create a sample repo. I am pretty sure the parser is able to parse optional chaining as I have used it in my projects.

@connectdotz  https://github.com/JonathanWilbur/jest-editor-support-issue-51

optional chaining and many other typescript language features also cause parsing to fail.  For example, I moved this function out of a test file to prevent parsing from failing:
export function assert(condition: any): asserts condition {
  expect(condition).toBe(true);
}

Given the ubiquity of TypeScript (the vscode-jest extension, for example), would be nice for editor support to enable TS support for .ts[x] files.

@JonathanWilbur I tried your repo and the test (in test/jest/index.test.js) showed pass, no parsing error, everything looks all right to me...


Optimize mult macro

Adapted from http://wikiti.brandonw.net/index.php?title=Z80_Routines:Math:Multiplication
Now constant time, and uses less regs

This solution doesn't work out of the box, and doesn't quite line up with my interface principles, but don't disagree that the current implementation of mult is pretty shit.
I'll close the pull requests, but open a new issue in its stead.

This solution doesn't work out of the box

How so? The macro works fine, compiles to working code... Where's the problem?

and doesn't quite line up with my interface principles

You don't state them, so I can't try to improve them.
Also, closing the issues without giving a chance to improve is pretty bad if you ask me.

As I said, I opened an issue to improve the macro.  It's right here and includes the code you wrote.  https://github.com/joeldipops/gbz80-pseudoOps/issues/11.
The code changed substantially since the request was opened and I'm not knowledgeable enough about git and github to simply merge the code straight from the PR.

I had another look at the macro, and as I thought at the time, it neither compiles nor works.
Some issues

Syntax error where jr NC, .noAdd@ doesn't match up with the .noAdd label missing the @
No reference to \1 anywhere in the macro - I'm guessing the HIGH(\2) and LOW(\2) should be 1s instead.
Reference to DE which holds an arbitrary value at this point.  Assume \1 instead.

With those fixes it does look like it's working now, but didn't out of the box.  I want to take the time make sure I know how this works and fiddle with the interface if I can.


Examples: SVG broken

Versions

Python: 2.7, 3.5
OS: Win8.1, 64bit
Kivy: master, wheels

Description
SVG example just won't even start, but with py2 it at least returned this:

File: kivy\lib/libtess2/Source/priorityq.c, Line 413
Expression: LEQ( **(i+1), **i )
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

May be a duplicate of https://github.com/kivy/kivy/issues/3693. It seems to be an issue with the svg module, not just the example.


WIP: Tzaffi/box e2e

Summary
Explain the goal of this change and what problem it is solving. Format this cleanly so that it may be used for a commit message, as your changes will be squash-merged.
Test Plan
How did you test these changes? Please provide the exact scenarios you tested in as much detail as possible including commands, output and rationale.

obsolete


Add tests to PyPI sources

I am currently trying to package pytest-random-order-1.0.2 for Gentoo Linux. Gentoo packages are generally compiled from source. The installation process involves a test phase which executes the package's tests in order to verify that the installed software is working. However, the source tarball for pytest-random-order-1.0.2 does not include the tests.
Would it be possible to add tests to the PyPI source tarball for future releases?

Hi, yes I'll look into it. Thanks for pointing it out.

Added in v1.0.3


k3s server fails to start when using postgres datastore with no existing database named postgres

Environmental Info:
K3s Version: v1.28.4+k3s2

Node(s) CPU architecture, OS, and Version:

Linux rpi4b01 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux
Cluster Configuration:

1 server, 5 agents, on various kinds of Raspberry Pi. Using PostgreSQL external datastore, hosted on aiven.io (free tier).
Describe the bug:

When starting up, the server attempts to connect to the postgres database to check if the wanted database exists.
When there is no database named postgres on the server, k3s fails and exits.
Steps To Reproduce:

Installed K3s: Used DietPi installation, but I believe installation method to be irrelevant.
Configure PostgreSQL external datastore with database named something other than postgres
Ensure no database named postgres exists on the database server
Start k3s server

Expected behavior:

I expected k3s to connect to the configured database and start normally
Actual behavior:

k3s server attempts to connect to postgres database, fails to connect and exits with an error
Additional context / logs:

https://rancher-users.slack.com/archives/CGGQEHPPW/p1702161565508369
https://github.com/k3s-io/kine/pull/241
https://www.postgresql.org/docs/9.1/creating-cluster.html

I'll add my own config to this issue:
--datastore-endpoint=postgres://[ROLENAME]:[PASSWORD]@[HOST]:5432/k3sdb
starting kubernetes: preparing server: creating storage endpoint: building kine: failed to connect to host=[HOST] user=[ROLENAME] database=postgres:
The database name the process is trying to connect to does not match the database name being given by datastore-endpoint

The postgres database is expected to exist by default, and is used temporarily while testing to see if the selected database exists or needs to be created. From the docs linked above:

After initialization, a database cluster will contain a database named postgres, which is meant as a default database for use by utilities, users and third party applications. The database server itself does not require the postgres database to exist, but many external utility programs assume it exists.

Ok, thank you for the clarification. I added  a line to pg_hba to let my k3s server reach the postgres DB and it is finally working.

We can look at a way to address that, but the current mechanism was supposed to be an improvement over the previous approach, which always tried to create the k3s database, and just handled the failure - but not in a consistently portable way. The new approach connects temporarily to the postgres database, and queries to see if the k3s database exists - and only creates it if it does not.

I guess an argument to be made here is if k3s/kine really should be responsible for creating the database?
Creating the tables and anything else is normal and fine, but creating the database itself is in my experience often handled outside the application that uses it, because it requires giving quite elevated privileges to the application for something that should only be needed once in the application lifecycle.

I guess an argument to be made here is if k3s/kine really should be responsible for creating the database?

It seems to be the behavior that most users expect, so that's what we've always done. Changing that now is not likely.

Would it make sense to change it so that any errors inside createDBIfNotExist are treated/logged as warnings but doesn't cause the server to exit?
Then you get the following scenarios:

Database exists at start
Able to check for existence
Able to create
Consequence

:white_check_mark:
:white_check_mark:
:white_check_mark:
Everything works

:white_check_mark:
:white_check_mark:
:x:
Everything works

:white_check_mark:
:x:
:white_check_mark:
Warning about not being able to check for existence, but everything works

:white_check_mark:
:x:
:x:
Warning about not being able to check for existence, warning about not being able to create database, but everything works

:x:
:white_check_mark:
:white_check_mark:
Database created, everything works

:x:
:white_check_mark:
:x:
Warning about not being able to create database, then error because database not found

:x:
:x:
:white_check_mark:
Warning about not being able to check for existence, database created, then everything works

:x:
:x:
:x:
Warning about not being able to check for existence, warning about not being able to create database, then error because database not found

Yeah, if you're up for it, a PR to https://github.com/k3s-io/kine would be welcome!

It seems to be the behavior that most users expect, so that's what we've always done. Changing that now is not likely.

Most users expect insecure, but convenient, defaults.
That doesn't make them a good idea.
I explained here https://github.com/k3s-io/k3s/issues/9111#issuecomment-1906916475 why this is a nice "quickstart setup" style option, but totally unappropriate for production deployments.

Do note however that we are unlikely to accept any change that suddenly causes k3s to refuse to run if it has "excessive" privilege, as we commonly see users configuring k3s to use the default admin account provided by a managed database service or prepackaged container image.

Right; since that's been historically permitted, it should emit at most a warning. Then add a non default feature flag warning that eventually that capability will go away, etc. Longer term stuff. While ideally it should not have permitted this configuration in the first place, it's a bit late to just turn it off.
As for the rest, I'll have to see how the k3s testing in the org I'm working with goes. Thanks for the pointer on where to start.


Pylint and RTD update patch, and other fixes

Adds pylint and readthedocs patch
Disables unspecified-encoding for pylint
Removes pylint_tests hook

Didn't need to disable duplicate code


add snapshot instructions

Add instructions to make an snapshot in case of first backing up

pls add proper name to pr


Why a message signature instead of using the Authorization header?

This is a question I have always asked myself regarding webhooks.
Why not let the sender pass a token (originally crafted by the receiver) via the Authorization header?

@zekth I think I am aware of that difference.
But why is that needed for webhooks while there is no literature about this in a classic client to server http communication?
Why do I need to sign the message when I have webhook event creator ----http-message----> webhook event consumer while it's not usual to sign the message when I have http client ----http-message----> http server ? Or the message should be signed in both cases?

@reda-alaoui, there are two questions here: the first whether to use the Authorization header, and the second, maybe to use a token (rather than a signature) - but not in the Authorization header.
For the first question: I believe @zekth answered it. In most systems the Authorization is handled in a way where you can't really give it a "webhook" access level. Whether it's because the authentication is done in the API Gateway layer or even in a framework. Giving a "real" token can be a source for trouble if even possible.
As for the second question: why not just pass a token in a Webhook-Token header? There are a few reasons (I've been meaning to do a proper write-up on the topic). The first is that signatures are better than tokens in general, and is why some APIs (e.g. the AWS API) are using signatures rather than tokens. The advantage of signatures is that they are less likely to leak than a token because they are not sent on the wire so can't, e.g. be logged. This is especially important with webhooks where it can be common to e.g. put the wrong url so put example1.com instead of example2.com which means you'd have the token sent to another server not controlled by you, which means the token will be compromised. Not the case with signature. Sure, you can automatically revoke token when changing the URL but that's a pain because people may have legitimate reasons to change just part of the URL (e.g. query params), and it's in general just a pain. There are also other reasons why you can, with webhooks, more easily send webhooks to places where they weren't intended so this is a good thing. So another question comes up: why sign the payload? Why not just sign a random key and then have the user verify that? That would actually be a big improvement over tokens (for APIs too tbh), but if you're already doing signatures why not get the benefits of signing the payloads?
Benefits of signing the payloads: no MITM potential (e.g. an attacker can get the wrong URL set potentially, have it sent to them, and then modify and forward to you) which is a big win. This also protects against replay attacks because you also sign the timestamp and the idempotency key. The last advantage of a signed payload which is more relevant to webhooks than an API call: non-repudiation. You know that if you get the webhook it most have come from the source (taking all of the above comments in mind) which means you can prove it's authentic in case of conflict. So if e.g. Stripe sends you a webhook it comes with an extra layer of authenticity. This is somehow relevant with symmetric signatures (as you can potential sign things yourself as you have the key), but super relevant with asymmetric where only Stripe would have the key.
This was a bit of a brain dump, as I mentioned, I've been meaning to do a better write up but haven't gotten to it yet. Feel free to ask follow up questions if you have any!


[WFLY-19695] Upgrade to Hibernate Search 7.1.2

https://issues.redhat.com/browse/WFLY-19695
Just in case we won't get the Hibernate Search 7.2 into the next version, here's an update to the currently used 7.1. There are a couple of bug fixes in it (https://in.relation.to/2024/08/30/hibernate-search-maintenance-releases#other-since-last-7-1) that may be useful to the users.

Thanks @marko-bekhta


DefaultPageHandlerMethodSelector not available in 3.0 anymore

We are now migrating our project from .NET Core 2.2 to .NET Core 3.1. We had quite some customization in place (to connect with in-house framework). We are implementing custom IPageHandlerMethodSelector to connect with some postback functionality and we had fallback to the default selector in place. Our current implementation looks following:
   public class PageHandlerMethodSelector : IPageHandlerMethodSelector
    {
        private DefaultPageHandlerMethodSelector selector;

        public PageHandlerMethodSelector(IOptions<RazorPagesOptions> options)
        {
            this.selector = new DefaultPageHandlerMethodSelector(options);
        }

        public HandlerMethodDescriptor Select(PageContext context)
        {
            if (OurFrameworkCode.HasMatch)
            {
                return OurFrameworkCode.Select(context);
            }

            return this.selector.Select(context);
        }
    }

How are we supposed to implement custom IPageHandlerMethodSelector with fallback to the default behaviour of ASP.NET? I was trying to google for this but failed to found relevant information.
Thank you very much.

Hi @mgubis, the type was made internal as part of our making pub-internal types internal. See https://github.com/aspnet/Announcements/issues/326. For 3.x, the recommendation is to copy the type in to your application: https://github.com/aspnet/AspNetCore/blob/master/src/Mvc/Mvc.RazorPages/src/Infrastructure/DefaultPageHandlerMethodSelector.cs.

Thank you for the answer. I have managed to copy it into our libraries (little change was necessary, but it was really just cosmetic change) and migrated successfully to .NET Core 3.1.
Nevertheless, I think it would be nice to have a possibility to access default functionality (copying of the code just increases maintenance costs and in case of bugfixes, they are not received automatically). Maybe some DefaultsProvider returning instance typed as an interface would be nice. What do you think?

In the past, making our default implementations public severely affected our abilities to change or evolve these types. That was one of the primary motivations for making these non-public.
One option you could explore in this particular case is to use a DI framework that allows decorating. @khellang would you happen to know if this would work with Scrutor?

In theory it should, yes. Just make sure you inject IPageHandlerMethodSelector in your implementation (as opposed to newing it up) and decorate the default registration:
services.Decorate<IPageHandlerMethodSelector, PageHandlerMethodSelector>();

I understand, that making default implementations public affected flexibility you could use in evolution of framework. But I think, that if the default implementation is exposed only via interface, it shouldn't create friction points (changing the interface is breaking change anyway).
Anyway, thanks to the Scrutor (thanks @khellang), I was able to get default instance - your proposed solution works well. Thanks @pranavkm and @khellang for your help!


README.md: Add vLLM to providers table

Closes #198
Signed-off-by: Russell Bryant<EMAIL_ADDRESS>

Heads up that we will be adding tests for inference providers, and update table of verified providers based on test results. cc @ashwinb @raghotham


[bug?] Soft Wrap not works right with Chinese characters

I narrowed the editor window to 10 English characters width, and enable "Soft Wrap".
Type 'abcedfghijklmn', it works well, the 'k' is wrapped to second line.
Type '一二三四五六七八九十', it now works right, nothing is wrapped and only the first five characters are displayed.
Type '一二三四五六七八九十一', then the eleventh character '一' is wrapped to second line.

This looks like a duplicate of #1783 - please subscribe there for updates.


Sound FX for VC are playing without text

Playing in PUGs I often hear "Hold still, I've gotcha" and/or "Need a pickup!" playing over my speakers BUT no text appears in the chat nor does any order to the speaking pilot appear.
I'm frustrated because I'm being spammed by unknowns, and unknowns are frustrated because people aren't responding to pick them up/be picked up.
p.s. Once, when not many people were on, I managed to find out who it was and they told me they were using TE's chat pack - if I remember correctly.
Imported from trac ticket #85,  created by juckto on 05-03-2010 at 08:05, last modified: 11-22-2011 at 20:24

The need a pickup voicechat is a command, which is send to your local sector (cluster). These kind of commands don't appear on all chat, only on sector (cluster) chat. If you are not in the sector, you don't see that command.
You have to rewrite the command system, to make a exclusion for this case.
Trac comment by pkk on 11-22-2011 at 20:24


chore(master): release 2.1.0

:robot: I have created a release beep boop
2.1.0 (2023-01-31)
Features

update bee and blockchains (#81) (f840737)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/fairDataSociety/fdp-play/releases/tag/v2.1.0 :sunflower:

Release v2.1.0 addresses this.


Fix type hints for **kwargs to match PEP-484

I just learned this today as I was figuring out why my IDE was flagging the type hints as wrong but kwargs should be hinted as the value in the dict and not as a dict itself. See PEP-484.

Closes
Example

Screenshots

Checklist

[x] References any related issue by including "Closes #" or "Closes ".

If no issue exists and your change is not a small fix, please create an issue first.

[x] Includes tests or only affects documentation.
[x] Passes pre-commit checks.

Run pre-commit install && pre-commit run --all locally for formatting and linting.

[x] Includes screenshots of documentation updates.

Run mkdocs serve view documentation locally.

[x] Summarizes PR's changes in CHANGELOG.md

@desertaxle I'm hoping to merge this in a get a new release so we don't have to depend on my fork anymore. Is that doable this week?


Update and expand DAGDependency drawer

Summary
Fixes #9066
Details and comments
This PR updates the DAGDependency section of the qiskit/visualization/dag_drawer.py.

The node.qargs and node.cargs have been added to each node display to indicate which qubits and clbits the instruction acts on.
If an instruction has a condition, it will be displayed
The colors have been changed to more closely match those of the DAGCircuit drawings.

This circuit
bits = [Qubit(), Clbit()]
qr = QuantumRegister(4, 'qr')
cr = ClassicalRegister(4, 'cr')
qc = QuantumCircuit(qr, bits, cr)
qc.h(0)
qc.cx(0, 1)
qc.cx(0, 2)
qc.cx(0, 3)
qc.x(3).c_if(cr[1], 1)
qc.h(3)
qc.x(4)
qc.barrier(0, 1)
qc.measure(0, 0)
print(qc)
dag = circuit_to_dagdependency(qc)
dag.draw()

produces this circuit drawing
      ┌───┐                 ░       ┌─┐
qr_0: ┤ H ├──■────■────■────░───────┤M├
      └───┘┌─┴─┐  │    │    ░       └╥┘
qr_1: ─────┤ X ├──┼────┼────░────────╫─
           └───┘┌─┴─┐  │    ░        ║
qr_2: ──────────┤ X ├──┼─────────────╫─
                └───┘┌─┴─┐┌───┐┌───┐ ║
qr_3: ───────────────┤ X ├┤ X ├┤ H ├─╫─
      ┌───┐          └───┘└─╥─┘└───┘ ║
   4: ┤ X ├─────────────────╫────────╫─
      └───┘                 ║        ║
   0: ══════════════════════■════════╩═

cr: 4/═════════════════════════════════

and this graph drawing

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 24 (4.17%)  changed or added relevant lines in 1 file are covered.
18 unchanged lines in 4 files lost coverage.
Overall coverage decreased (-0.03%) to 86.891%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/visualization/dag_visualization.py
1
24
4.17%

Files with Coverage Reduction
New Missed Lines
%

crates/qasm2/src/expr.rs
1
93.76%

qiskit/visualization/dag_visualization.py
1
9.57%

crates/qasm2/src/lex.rs
4
91.41%

crates/qasm2/src/parse.rs
12
97.13%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
73962

Relevant Lines:
85120

💛  - Coveralls

I'll add a reno.

Reno added in https://github.com/Qiskit/qiskit/pull/11103/commits/53381b3c42e1755a3c1d5a5ff48f01a97c5e1a0a.

Thanks @enavarro51, I really like the new output. The code changes look good as well.


Feature request: arrow_shift = 1 land arrow on the surface of the node marker

It would be great to be able to set the arrow shift parameter to 1 and have the tip of the arrow land on the edge (surface) of the node, not on the center of the node. This would be the preferred behavior. This will require taking into account the size of the marker.
The current work around is to pass a vector of arrow shifts to try to get them to land on the surface of each node (requires some trial and error).

I agree that this would look nice.
It is however quite hard to find the correct positions of the arrowheads a priori. The arrowheads are placed in data space, their position depends on:

the size&shape of the node marker
the size&shape of the error head

For triangular markes for example there is also a dependency on the direction. Additionally, the marker space is (per default) different from data space (i.e. the arrows and nodes won't get smaller and bigger if you zoom in and out of the figure). So it should also depend on

markerspace for both arrows and node symbols and
zoom level of axis.

In presence of curvy edges, the problem becomes trickier since the relation between position on edge and distance between node and arrow marker is non-linear.
This is why I've decided to throw the nicer aesthetics out of the window and go with markers in the center of a the edges in the first place. And tbh for me this reasoning still holds and its not worth the hassle. But maybe I am missing something and if there is a relatively straight forward way of calculating those positions!
In the mean time it might be worth investigating a function which fixes this after the plot (similar to your manual approach). Something like
fig, ax, p = graphplot(...)
move_arrows_to_nodes!(p)

Under the assumption that there are some Makie internals to calculate the intersection between arrow marker and node markers on a per edge base, this data could be used to bisect the the arrow_shift parameter for each edge until the markers barely touch. Obviously this brute force method is far to inefficient to become part of the "normal" graphplot pipeline.

Makes sense...


Add Data Visualization category

Some of the examples could be found here:
https://www.geeksforgeeks.org/javascript-libraries-for-data-visualization/
https://github.com/hal9ai/awesome-dataviz?tab=readme-ov-file#javascript-tools

@bakasmarius Thank you for the suggestion. Are these libraries used in the backend in any way, or only in the frontend?

@bakasmarius Thank you for the suggestion. Are these libraries used in the backend in any way, or only in the frontend?

To be honest, I'm not sure because I haven't tried any of them, but my logic says that you cannot "see" a visualization in the backend, so they all must be frontend-related at least somehow 😄
I suggested this category because I'm planning to try at least one of them in the near future and I often use NodeJsToolbox for selecting the right one 😉

Thanks!
The focus for Node.js Toolbox is the Node.js/backend ecosystem. I'm open to adding categories that are both front- and backend. For frontend focused libraries you can try Best of JS.

Ahh, sure, makes sense - I didn't really think about it that way 😅


WhoisLookupError is raised for certain IP addresses

here is an example:
raise WhoisLookupError('Whois RWS lookup failed for %r.' % url)

ipwhois.ipwhois.WhoisLookupError: Whois RWS lookup failed for 'http://restfulwhoisv2.labs.lacnic.net/restfulwhois/ip/<IP_ADDRESS>'.

This is due to the RIRs switching to RDAP.
It appears that LACNIC shut down the "restfulwhois" service in favor of RDAP. I will take a look, and possibly push a quick short term fix for LACNIC.
The long term fix is being tracked here, including an overhaul of the data that is parsed:
https://github.com/secynic/ipwhois/issues/71

Fixed in v0.10.3


Only display main contributors in search results and in work header

Background
When it comes to describing the names associated with a work, which we consider contributors, library catalogues make a distinction between main entries  (1XX fields) and added entries (7XX fields).
Main entries are those directly responsible for creating or bringing the materials together, whilst the possible relationships are broader and more varied for added entries.
Currently we draw no distinction between main and added entries, always displaying the first contributor in search results and the work header. When there is no main entry but there are added entries, this gives undue prominence and responsibility to an added entry name.
This prominence makes the first added entry appear more responsible for the work than they actually are, which has the potential to mislead researchers. We’d like to fix this.
User stories
As a librarian
I want to distinguish between main entry and added entry names
So that it’s clear who was directly responsible for a work
As a researcher
I want to be sure who was directly responsible for a work
So that I can understand how different people were involved
Acceptance criteria

Main contributors are indicated in the Catalogue API
1XX fields are main contributors, 7XX fields are not
First contributor only shown in search results if it’s a main contributor
First contributor only shown in work header if it’s a main contributor
All contributors are shown in the full contributors list, in the existing order

We've had a discussion in Slack about how we're going to mark "main" contributors in the API.
We're going to add a boolean flag primary to the Contributor model; this is reasonably simple, has no impact on search, and we can easily remove it later if we want to. e.g.
{
  "label": "Florence Nightingale",
  "primary": true,
  "type": "Contributor"
}

We hope that primary is a somewhat intuitive name that other people might understand.

A couple of examples:
A Calm work where the only contributor has primary: true:
https://api.wellcomecollection.org/catalogue/v2/works/a2242545?include=contributors,identifiers
A Sierra work where the contributors are a mix of primary: true/false:
https://api.wellcomecollection.org/catalogue/v2/works/nbsqzbba?include=contributors,identifiers

Looks great, thanks 👍
I think the Calm example is meant to be this one (only the collection level has the contributor):
https://api.wellcomecollection.org/catalogue/v2/works/uad4jhwg?include=contributors,identifiers
And here's an example from Sierra where all the contributors are primary: false:
https://api.wellcomecollection.org/catalogue/v2/works/fwnjq9md?include=contributors,identifiers

Changes deployed to production
Search Results page: Only main contributor is displayed below title
https://wellcomecollection.org/works?query=florence+nightingale
Work page: Only main contributor is displayed below title, all contributors listed in Contributors section
https://wellcomecollection.org/works/dv5jtfvs (has a main)
https://wellcomecollection.org/works/sstzhgmc (has no main)


force score to be an integer

fixes #22

Should we do Math.round just in case? I haven't seen 599.9999, but just to be on the safe side.

I don't know if it will fail if it's too low (has an impossible value)? If it's too high it will definitely.
Wouldn't it be easier to do not touch the score logic? It will get to the max score in every case - because the game runs successful the maximum round-time.

I think the code is needed if the tab isn't active, the score doesn't increase as fast. Probably from other enemies not spawning. Need more info, and am open to suggestions.
Math.round would have the same effect as using Math.floor in the impossible value sense.

It's changed 😃


Wait for ovs-vswitchd PID before calling ovs-appctl

Otherwise the call may fail and crash the process.
Besides, it cleans up the OVS run files on exit to avoid stale PID
from being used.
Signed-off-by: Quan Tian<EMAIL_ADDRESS>Fixes #2694

Codecov Report

Merging #2695 (b8ac50b) into main (bfa1bc4) will decrease coverage by 19.62%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             main    #2695       +/-   ##
===========================================
- Coverage   60.66%   41.03%   -19.63%
===========================================
  Files         285      158      -127
  Lines       23006    19251     -3755
===========================================
- Hits        13957     7900     -6057
- Misses       7550    10604     +3054
+ Partials     1499      747      -752

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
41.03% <0.00%> (-0.02%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/ovs/ovsctl/ovsctl_others.go
0.00% <0.00%> (-50.00%)
:arrow_down:

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/util/runtime/runtime.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/cniserver/pod_configuration_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/agent/nodeportlocal/k8s/annotations.go
0.00% <0.00%> (-83.88%)
:arrow_down:

pkg/agent/agent_linux.go
0.00% <0.00%> (-80.00%)
:arrow_down:

pkg/agent/client.go
0.00% <0.00%> (-77.42%)
:arrow_down:

pkg/ovs/ovsconfig/ovs_client_linux.go
0.00% <0.00%> (-76.93%)
:arrow_down:

... and 232 more

/test-all

What code at agent startup runs appctl? Why it crashes? Should we just retry there instead?

/test-all

@antoninbas I found I never got the expected "Waited for" log when verifying the change and it still crashed sometimes, which was because I was checking the condition func's return value err instead of readErr.
I have fixed it and verified it, PTAL.


Add UI test for component + bindings

What

Add UI test for component + bindings
The last PR of 3 for component + bindings test
Why

How Tested

Process & policy checklist

[ ] I have updated the project documentation to reflect my changes if necessary.
[ ] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

@PorterNan I am wondering if it would be better to render one component per page.
The edge case I am worried about is when we change a component, we will need to replace the entire page screen shot.
Another component might have an undesired change that we miss upon verifying the whole page manually.
What do you think?

I am wondering if it would be better to render one component per page.
The edge case I am worried about is when we change a component, we will need to replace the entire page screen shot.
Another component might have an undesired change that we miss upon verifying the whole page manually.
What do you think?

We can do it in a separate PR, I was thinking of moving composite tests into this folder as well - and we might want to add more component into the test, we can resolve this one when we are doing this


How to make full-screen surfaceview?

Thanks in advance for your great example.
I wonder how to make full AR screen.
I tried as below but filament's locating models doesn't seem to work properly
session.setDisplayGeometry(displayRotation, SURFACEVIEW_WIDTH, SURFACEVIEW_HEIGHT)
uiHelper.setDesiredSize(SURFACEVIEW_WIDTH, SURFACEVIEW_HEIGHT)

Thank you!

Hi @SGTjeong ,
I'm not sure I understand the question. Are you trying to crop the ARCore camera image so that it fits the screen?


Any plans to make it available on the nuget.org

Hi,
Nice job, you made the it definitely easier for developers to start with Azure digital twins. Do you have any plans to register a package on nuget.org?

Yes this package will be available on Nuget latest by next week

great, thank

Though this issue appears to be closed, I don't see it on NuGet as a public package yet. (22 days later after @kavink98 mentioned it would be on Nuget "latest by next week").
In the time being I am trying to create a private copy and a private NuGet package since I work on different computers and it is a hassle to redo the paths of the telstra Twins referenced projects each time updating source control.

I opened a new issue (#20) for actually getting it on Nuget (as this issue was technically only asking if there were plans ... yes, there were plans ... they just didn't happen ... I presume there are more plans ... :-)


Ingestion workflow changes are not being updated on Airflow

After updating the Ingestion workflow from UI, changes are not reflected on the Airflow.
for e.g, if I update the schedule interval then on our backend it is changing but on airflow, it's not.

@Sachin-chaurasiya
@darth-coder00 can we use put for this instead of patch. I don't want to workflow to be deployed on patch

@Sachin-chaurasiya @darth-coder00 can we use put for this instead of patch. I don't want to workflow to be deployed on patch

@harshach yeah we can, would make the changes.


[Bug]: UI alignment for keyvalue array component in mongo datasource form

Is there an existing issue for this?

[X] I have searched the existing issues

Description
The alignment of the label is off in the keyvalue_array component.

Steps To Reproduce

Create a new mongo DB data source.
The datasource form will open, observe the UI of host address and port.

Public Sample App
No response
Version
cloud

Tested on Release and has been fixed. Port is now aligned correctly.


Chem | Top menu Sketcher: works with blank data

Platform: public "Version":"1.10.2"
Data: smiles
To reproduce:

Go to Chem > Sketcher.
For empty sketcher, click Filter.
Actual: empty dataframe
Expected: Sketcher doesn’t work with blank data

Duplicate of #1324

No relevant any more


Enabled the Github Auth for Webhooks

Changelog

Enabled the Github Auth Webhook

This will validate that webhooks come from Github
Related Issue: https://github.com/Spazzy757/paul/issues/12

/cat

/cat


Fix auto create migration

Replace error info 'Invalid models module...'  to a better hint.
fix filter arguments at https://github.com/klen/peewee_migrate/edit/develop/peewee_migrate/router.py #57 line

Coverage decreased (-0.3%) to 66.779% when pulling 25585e332a57ea6ea25ea571c5cd647d5d2e68ec on jjyr:patch-1 into b9dfc5ad1680ab8ed2d24aa8231fd67881a973ea on klen:develop.

Thank you!


Community meeting June 8 Agenda

Please add a topic in this thread and add a link to the Github issue associated with the topic.

Please make sure you give folks enough time to review/discuss the topic offline on Github before coming into the meeting :)

Spike: Investigate how to define the resource limits for a pod instead of a container: https://github.com/redhat-developer/build/issues/239
Move this repository into a new github org: https://github.com/redhat-developer/build/issues/196

Announcement - enhancement proposal process:
https://github.com/redhat-developer/build/pull/252

Closing this issue, thank you all.


Warning needed on serialised sections?

This warning
BlueCelluLab/bluecellulab/cell/serialized_sections.py:40: UserWarning: [Warning] SerializedSections: v(0.0001) < 0. index=1 v()=-65.0

is a pain when we use non-bbp mod files, is it really necessary to have it always printed, not in debug mode or so?

Thanks, this is a very useful feedback - using bluecellulab with non-bbp mod files. Sounds good it can be printed in debug mode and can be set to be ignored. Do you want to make the PR or shall I do that?

do as you want!


Check Local Connection in parseVersion2

If Connection is LOCAL then we should just skip the rest of the header as per spec. When a sender presents a LOCAL connection, it should not present any address so it sets this field to zero. Receivers MUST always consider this field to skip the appropriate number of bytes and must not assume zero is presented for LOCAL connections.

Hey @pires (sorry for the direct ping) any chance this may get reviewed and approved? I understand this is an OSS project and we have no expectation of anything, just want to understand where do we stand with this. We keep our internal private fork and wanted to upstream some fixes and maybe switch back to the upstream.

Coverage decreased (-1.08%) to 93.271% when pulling c053a10bcdb764119f87cef196dd70b2e6731193 on bobbybho:local-port-fix into 3aa7ea95a821cf534fae576651e2ca11f222a4e3 on pires:main.

Sorry, @igor-kupczynski, for some reason this slipped. Thanks for your contributions and gentle ping!

@pires We have finished running integration tests in AWS, GCP and Azure and no error is found in the test result so far. As a result, I am going to close this PR since the latest upstream implementation is working with those cloud providers and we don't need to change the local connection behaviours. Thank you again for reviewing our PR and sharing your feedback with us.

Terrific! Thank you very much for your contributions and keeping me posted.


Remove N from all expectAsyncN

This issue was originally filed by<EMAIL_ADDRESS>
This is generally waiting for issue #2706 , but here's a potential solution.
typedef dynamic async0();
typedef dynamic async1(dynamic a);
typedef dynamic async2(dynamic a, dynamic b);
...
Function expectAsync(Function callback, ...) {
  if (callback is async0) {
    return expectAsync0(callback, ...);
  } else if (callback is async1) {
    return expectAsync1(callback, ...);
  } else if ( ... ) {
    ...
  } else {
    throw "Too many arguments."
  }
}
Probably not worth changing this right now, but maybe in unittest v2.

This issue has been moved to dart-lang/test#202.


Formalise remote server login with keyring

As a security measure, the keyring package should be used rather than storing passwords in a config file. The building blocks for this are in place, but probably has bugs and there's a lot of room for improvement. #

Will now ask to add password if it doesn’t exist in the key ring. Failed authentication now fails for FTP and HTTP/S.


Visualize how an application interract with others

I want to propose adding a new visualization view to the plugin, that enables you to get a better view of how an application interacts with other defined applications.
I propose to integrate https://github.com/asyncapi/EDAVisualiser/ and it's application focus view into the vs-code plugin.

Because this feature needs information about who the "others" are i.e. a list of related AsyncAPI documents in your system, I propose we add a setting (that can be saved in workspaces) where you have to manually add an entry of remote or local paths to AsyncAPI documents. Not sure if there is any other way to achieve it 🤔
Blocked by (using this as the initial feature request) https://github.com/asyncapi/vs-asyncapi-preview/issues/234
I am willing to help maintain the integration long term as well as write the integration 🙂

hey @jonaslagoni this sounds like an awesome feature to add..
currently there is also a work in progress feature to add another alternative preview with "mermaidjs diagrams" for channels, messages and schema types #230 (never mind the title of the PR ;-) it is about adding that new preview) which is being activelty coded by @nikhilkalburgi as part of the gsoc 2024

Regarding switching between views  we can create a nested "Title bar menu" named "AsyncAPI Preview" with 3 nested entries and maybe a default preview button that can be configured in the extension settings... We will find out the best way to achieve this..

Regarding the `information about "other" APIs", how does the EDAVisualizer works outside vscode? I mean, how it gets that "others" information? maybe we can store that information in an vscode-agnostic format so it can also be started outside vscode.. (just saying...)

It sounds like a great feature to me.
Currently I'm the maintainer of this repo, reviewing gsoc PRs but I'm not actively developing the extension myself..
Count on me to review and integrate PRs or sync efforts or else..

Regarding switching between views we can create a nested "Title bar menu" named "AsyncAPI Preview" with 3 nested entries and maybe a default preview button that can be configured in the extension settings... We will find out the best way to achieve this..

Makes sense 👍  We can always change it afterwards 🤙

Regarding the `information about "other" APIs", how does the EDAVisualizer works outside vscode? I mean, how it gets that "others" information? maybe we can store that information in an vscode-agnostic format so it can also be started outside vscode.. (just saying...)

There are a few ways, I would suggest we add a setting similar to asyncapi.preview.externals: [] configuration which contains links (relative to the root workspace, or remote (as seen here: https://github.com/asyncapi/EDAVisualiser/blob/master/examples/simple-react/src/gamingapi/apps.js)).
Technically, we could store it as an AsyncAPI extension such as x-external-applications so you always have all the information right in your AsyncAPI document.
How does that sound @ivangsa?

If we want it as an extension, we could technically add the feature as part of the https://github.com/asyncapi/EDAVisualiser instead of here 🤔

Sounds good 👍
I would add an external configuration file (not inside vscode settings)... also not everybody would be able to edit the asyncapi files (or keep the changes after fetching upstream changes)...
Later we could convert the preview extension as a vscode web extension so it can be used with github codespaces, gitpod... etc. For that we can not use nodejs APIs to access workspace resources (like yml files) only the vscode workspace API.
I may be able to review existing code to make this happen.

Hey @jonaslagoni @ivangsa , i would like to propose this as an project idea for this year mentorship program, may I ?


No map topic and visualization

Hello!
I am trying to integrate your work with a project that I am working on.
My project involves using a drone affixed with a 3D Lidar to map a forest and localize itself.
My drone publishes the following topics, the relevant ones are /scan and /imu/out, and the namespace is simple_drone.

/scan is published as a topic with a message type of PointCloud2, and the IMU topic is of type Imu.
I tried to remap the parameters in the lidar_slam.launch.py file to the ones for my drone, as shown in the following code:
import os
import launch
import launch_ros.actions
from ament_index_python.packages import get_package_share_directory
def generate_launch_description():
main_param_dir = launch.substitutions.LaunchConfiguration(
    'main_param_dir',
    default=os.path.join(
        get_package_share_directory('lidarslam'),
        'param',
        'lidarslam.yaml'))

rviz_param_dir = launch.substitutions.LaunchConfiguration(
    'rviz_param_dir',
    default=os.path.join(
        get_package_share_directory('lidarslam'),
        'rviz',
        'mapping.rviz'))

mapping = launch_ros.actions.Node(
    package='scanmatcher',
    executable='scanmatcher_node',
    parameters=[main_param_dir],
    remappings=[('/input_cloud','/simple_drone/scan')],
    output='screen'
    )

tf = launch_ros.actions.Node(
    package='tf2_ros',
    executable='static_transform_publisher',
    arguments=['0','0','0','0','0','0','1','simple_drone/base_link','simple_drone/laser_frame']
    )

graphbasedslam = launch_ros.actions.Node(
    package='graph_based_slam',
    executable='graph_based_slam_node',
    parameters=[main_param_dir],
    output='screen'
    )

rviz = launch_ros.actions.Node(
    package='rviz2',
    executable='rviz2',
    arguments=['-d', rviz_param_dir]
    )

return launch.LaunchDescription([
    launch.actions.DeclareLaunchArgument(
        'main_param_dir',
        default_value=main_param_dir,
        description='Full path to main parameter file to load'),
    mapping,
    tf,
    graphbasedslam,
    rviz,
        ])`

What I feel that the issue lies in is with the transform frames. Do I need to make a transformation between the map and the base_link of the drone? Apologies as I am a beginner with ROS at the moment.
Terminal output on running the lidarslam launch file

Secondly, RVIZ shows absolutely no output. I see that some /map and /modified map is being published, but PointCloud2 is not visualizing it.

It seems the map frame is missing
The following shows the point cloud created by the lidar:

I am unsure as to what the issue is. Any help would be greatly appreciated.

The scan matcher hasn't been running since the node initialization, so it might simply be that no scans are being fed into the scan matcher. I suggest checking the connections with commands like ros2 topic info -v, ros2 node info, or using rqt_graph to ensure there are no issues.
Another possibility could be modifying the frame_id in lidarslam.yaml.

Do I need to define some additional transform for the map to base_link or will the scanmatcher do that itself?

Probably it does that itself... Sorry, I haven't worked with tf recently, so my memory is a bit vague.
https://github.com/rsasaki0109/lidarslam_ros2/blob/develop/scanmatcher/src/scanmatcher_component.cpp#L416

Hello!
The issue was resolved. The drone base_link transform frame had a "/" at the start of its name. The tf system was throwing errors but they were not being visualized.
Also, the lidarslam.yaml file had to be updated to the new transform frame name.
The package now works. I now need to tune the parameters of the graph_based_slam node so that it performs better optimization. The current setting seems to over-optimize it, optimizing curves in the trajectory as straight lines.
It works nonetheless.

The low resolution of the green path compared to the yellow path should not be an issue. I believe the map is properly created.
https://github.com/rsasaki0109/lidarslam_ros2/issues/101#issuecomment-2464880770

@ShameerMasroor can you show what your tf looks like and what changes you made in lidarslam.launch.py and lidarslam.yaml file. this is what I have in lidarslam.launch.py
mapping = launch_ros.actions.Node(
     package='scanmatcher',
     executable='scanmatcher_node',
     parameters=[main_param_dir],
     remappings=[('/input_cloud','/ouster/points')],
     output='screen'
     )

 tf = launch_ros.actions.Node(
     package='tf2_ros',
     executable='static_transform_publisher',
     arguments=['0','0','0','0','0','0','1','os_sensor','os_lidar']
     )

and lidarslam.yaml
scan_matcher:
  ros__parameters:
    global_frame_id: "map"
    robot_frame_id: "os_sensor"
    registration_method: "NDT"

my tf is
map -> os_sensor -> os_lidar
I have the same issue. There is no visualization and map topic doesn't output anything.

@ShameerMasroor can you show what your tf looks like and what changes you made in lidarslam.launch.py and lidarslam.yaml file.

TF Tree:

My yaml file:
scan_matcher:
ros__parameters:
global_frame_id: "map"
robot_frame_id: "simple_drone/base_link"
registration_method: "NDT"
ndt_resolution: 2.0
ndt_num_threads: 4
gicp_corr_dist_threshold: 5.0
trans_for_mapupdate: 1.5
vg_size_for_input: 0.5
vg_size_for_map: 0.3
use_min_max_filter: true
scan_min_range: 0.1
My rqt_graph looks like this:

my tf is map -> os_sensor -> os_lidar

Can you please share your transform tree? (ros2 run tf2_tools view_frames)
Also share the topic list (ros2 topic list)

I have the same issue. There is no visualization and map topic doesn't output anything.

@rsasaki0109 I additionally wish to know if your work is an implementation of some paper. It would be great if you could tell me as that paper can teach me much more about how this algorithm is working.
Thank you

@ShameerMasroor Thanks for the response. It actually works with the tf configuration I posted above. It works when I publish lidar data with command ros2 bag play file_name -r 2.5. It did not work when I published lidar from a mcap file with a python script.

@ShameerMasroor
There isn’t a specific paper for this. To explain briefly, LiDAR odometry is performed using NDT scan matching between the current scan and an accumulated mini-map of scans. Loop detection is achieved by matching submaps created by sampling the trajectory of LiDAR odometry at regular intervals.


.SO file not packed with APK file

I m trying to integrate the zstd native C gradle dependency in my android project. The dependency is as below :
dependencies {
    implementation "com.github.luben:zstd-jni:1.5.5-4@aar"
}

My android app is a multi module architecture. I have a main module and then there are sub modules like network, image loading, analytics etc added as sdk(gradle dependency) in the main module build.gradle file.
I have added above zstd dependency in my network module and it works perfectly. The zstd .so files are loaded in the lib folder for different CPU architectures when I create the apk of network module and compression/decompression functionality also works well.
Now when I add network module artifact in my main module build.gradle then the zstd .so files are not loaded in the lib folder in the main module apk.
I have observed that when I add zstd dependency directly in main module build.gradle then .so files gets loaded. But when added via network module .so files doesnt load and I get run time crash while loading the zstd library.
I am adding screenshots for the synced gradle dependency for network module as well as main module. You can see the difference as network module synced dependency as "@aar" and the main module sync gradle dependnecy does not have  "@aar".
Kindly help to resolve the issue as I am not able to use zstd in my project.

Not sure what's the root cause. Can you show me the exception that is thrown? I have just checked the aar and it contains the native libraries:
$ jar -tf zstd-jni-1.5.5-4.aar
AndroidManifest.xml
R.txt
classes.jar
jni/
jni/arm64-v8a/
jni/arm64-v8a/libzstd-jni-1.5.5-4.so
jni/armeabi-v7a/
jni/armeabi-v7a/libzstd-jni-1.5.5-4.so
jni/x86/
jni/x86/libzstd-jni-1.5.5-4.so
jni/x86_64/
jni/x86_64/libzstd-jni-1.5.5-4.so

Hi Luben,
Please find run time exception thrown :
Fatal Exception: java.lang.UnsatisfiedLinkError: dlopen failed: library "libzstd-jni-1.5.2-5.so" not found
Unsupported OS/arch, cannot find /linux/aarch64/libzstd-jni-1.5.2-5.so or load zstd-jni-1.5.2-5 from system libraries. Please try building from source the jar or providing libzstd-jni-1.5.2-5 in your system.
       at java.lang.Runtime.loadLibrary0(Runtime.java:1081)
       at java.lang.Runtime.loadLibrary0(Runtime.java:1003)
       at java.lang.System.loadLibrary(System.java:1765)
       at com.github.luben.zstd.util.Native.load(Native.java:97)
       at com.github.luben.zstd.util.Native.load(Native.java:65)
       at com.github.luben.zstd.ZstdDecompressCtx.<clinit>(ZstdDecompressCtx.java:12)
       at com.abc.network.zstd.ZstdUtils.decompressData(ZstdUtils.kt:106)
       at com.abc.network.NetworkRequest.parseNetworkResponse(NetworkRequest.java:352)
       at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:144)
       at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:111)
       at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:90)

I hope you got the issue reported above. The zstd aar contains the native libraries but in multi module app architecture .so files are not getting loaded. Individually this works for separate modules. But when zstd gradle dependency is added with one sub module and then that sub module is added as gradle dependency to the main module the .so files are not loaded. I would request you to please go through my issue above and look at the screenshots attached.

Not sure I can help. Looks to me like mismatch between versions. If you use the above aar it should not try to load libraries from another version. I highly doubt there is an issue with that particular release, but you should be able to try with another one, more recent.


fix(docs): remove Lato from the documentation website

Closes #1403

Preview: https://deploy-preview-1407--textlint.netlify.app/


Update pl.coffee

Translation of the Mages' Might button that appears in the level menu and translation of short information after pressing it.

Thanks @Cvaniak!


Question: does this support distributed deployment across hosts?

mininet can run only on one host. Maxinet can run across hosts.
does this support distributed deployment across hosts?

Hi @yogeshVU, you are right about Maxinet. However, son-emu does currently not support the deployment across multiple physical hosts.
If you need this, you should rely on a bare Maxinet (+ maybe + Containernet) installation without the son-emu features.
http://maxinet.github.io


ci: site examples can be declarative

Part of the work for #345
None of the site examples are declarative yet, but we will need this eventually.

Closing, this was done in #368

Closing, this was done in https://github.com/GoogleCloudPlatform/functions-framework-cpp/pull/368

Thanks.


qfit_residue.py not working

qfit_residue.py line 274 is qfit.write_maps(). We don't write maps in qfit_residue and this is causing it to crash with an error. Commenting out this line solves the issue and qfit_residue runs without error, but the output is incorrect. To replicate the issue:
qfit_residue /path/to/3K0N.mtz -l 2FOFCWT,PH2FOFCWT /path/to/3K0N_refine.pdb A,113
This gives an output with 2f0-fc density unmodeled, the alt conf that are outputted do not satisfy the density and are mostly redundant with the already existing conformation.

Following is the error output without making any edits to qfit_residue:
Beginning qfit_residue
Traceback (most recent call last):
  File "/Users/ashraya/opt/anaconda3/envs/qfit_testing/bin/qfit_residue", line 8, in <module>
    sys.exit(main())
  File "/Users/ashraya/qfit_summit/summit_2/dataset_testing/qfit-3.0/src/qfit/qfit_residue.py", line 274, in main
    qfit.write_maps()
  File "/Users/ashraya/qfit_summit/summit_2/dataset_testing/qfit-3.0/src/qfit/qfit.py", line 405, in write_maps
    self._transformer.xmap.tofile(fname)
  File "/Users/ashraya/qfit_summit/summit_2/dataset_testing/qfit-3.0/src/qfit/volume.py", line 68, in tofile
    to_mrc(fid, self)
  File "/Users/ashraya/qfit_summit/summit_2/dataset_testing/qfit-3.0/src/qfit/volume.py", line 524, in to_mrc
    with open(fid, 'wb') as out:
FileNotFoundError: [Errno 2] No such file or directory: '/Users/ashraya/qfit_summit/summit_2/dataset_testing/qfit-3.0/example/A_113/model.ccp4'

qfit_residue is trying to output model.ccp4 in A_113 folder but the folder is never created and hence the FileNotFoundError

qfit residue is now removed so this is obsolete.