Add voice embedding support

Can you add speaker labels so we can use this to fully diarize an audio file with speaker labels?
I can try adding them myself, but I'm not sure where to start.

I don't know what form of speaker labels you want. You could start here:
https://github.com/pengzhendong/pyannote-onnx/blob/2682155dbe94f1942afa9f34e15a8c01e97f83f9/pyannote_onnx/pyannote_onnx.py#L95

I don't know what form of speaker labels you want. You could start here:

Thanks. eventually I reimplemented it in onnx runtime https://github.com/thewh1teagle/sherpa-rs with silero vad.
However when trying both silero vad or your implementation in this repo, the segmentations result isn't good as pyannote.audio.
When comparing the following script:
from pyannote.audio import Pipeline # pip install pyannote.audio
from pathlib import Path
import os

# on macOS:
# pip install numpy==1.26.4

CUR_DIR = Path(__file__).parent
DST = CUR_DIR / "../samples/sam_altman.wav"

# 1. Accept conditions in:
# https://hf.co/pyannote/segmentation-3.0
# https://hf.co/pyannote/speaker-diarization-3.1

pipeline = Pipeline.from_pretrained(
    "pyannote/speaker-diarization-3.1",
	# 2. Get token from https://huggingface.co/settings/tokens
	# export HK_TOKEN="<token>"
    use_auth_token=os.getenv('HF_TOKEN')
)

# send pipeline to GPU (when available)
import torch
device = "mps" if torch.backends.mps.is_available() else "cuda" if torch.cuda.is_available() else "cpu"
print("Using device", device)
pipeline.to(torch.device(device))

# apply pretrained pipeline
diarization = pipeline(str(DST))

# print the result
for turn, _, speaker in diarization.itertracks(yield_label=True):
    print(f"start={turn.start:.1f}s stop={turn.end:.1f}s speaker_{speaker}")

I'm wondering what's needed to be changed to make that better.
I compared with this file:
he following wav file:

Result from pyannote-onnx:
Pyannote processing: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 6/6 [00:00<00:00, 20.88frames/s] | 100.00%
[{'start': 0.032, 'end': 21.624}, {'start': 21.919, 'end': 31.631}, {'start': 32.145, 'end': 34.853}]
Pyannote processing: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 6/6 [00:00<00:00, 21.45frames/s] | 100.00%
2

pyannote.audio:
python3 scripts/diarize.py
torchvision is not available - cannot save figures
Using device mps
start=0.0s stop=5.2s speaker_SPEAKER_01
start=5.4s stop=17.9s speaker_SPEAKER_01
start=17.9s stop=21.4s speaker_SPEAKER_00
start=21.9s stop=24.3s speaker_SPEAKER_00
start=24.5s stop=31.5s speaker_SPEAKER_00
start=32.2s stop=34.8s speaker_SPEAKER_00

You can see that pyannote.audio segments start and stop are much more accurate

Hi, you could try different threshold and min_silence_duration_ms. I just copy them from silero-vad.

Please try it again: https://github.com/pengzhendong/pyannote-onnx/commit/c6a2460e83af0d6fa83a5570b8aa55735edbce57
{'speaker': 1, 'start': 0.062, 'stop': 5.074}
{'speaker': 1, 'start': 5.513, 'stop': 17.882}
{'speaker': 2, 'start': 17.966, 'stop': 21.409}
{'speaker': 2, 'start': 21.949, 'stop': 24.278}
{'speaker': 2, 'start': 24.514, 'stop': 31.534}
{'speaker': 2, 'start': 32.259, 'stop': 34.841}

Please try it again: c6a2460

Works almost perfect!
I would like to create program to diarize wav files, do you know what needs to be added to do diarization for long wav files? I saw in the segmentation model card that it doesn't works well for more than 10 seconds. does vad detection is all we need to fully diarize wav file including speaker IDs? or additional embedding model or similar steps are required? thanks

The code I tested the last update:
main.py
# wget https://github.com/thewh1teagle/sherpa-rs/releases/download/v0.1.0/motivation.wav
# wget https://github.com/thewh1teagle/sherpa-rs/releases/download/v0.1.0/sam_altman.wav
# pip install git+https://github.com/pengzhendong/pyannote-onnx click librosa matplotlib numpy tqdm
# python main.py sam_altman.wav
# python main.py motivation.wav
import click
import librosa
import matplotlib.pyplot as plt
import numpy as np

from pyannote_onnx import PyannoteONNX

@click.command()
@click.argument("wav_path", type=click.Path(exists=True, file_okay=True))
@click.option("--plot/--no-plot", default=False, help="Plot the vad probabilities")
def main(wav_path: str, plot: bool):
    pyannote = PyannoteONNX()
    for turn in pyannote.itertracks(wav_path):
        print(turn)

    if plot:
        pyannote = PyannoteONNX(show_progress=True)
        wav, sr = librosa.load(wav_path, sr=pyannote.sample_rate)
        outputs = list(pyannote(wav))
        x1 = np.arange(0, len(wav)) / sr
        x2 = [(i * 270 + 721) / sr for i in range(0, len(outputs))]
        plt.plot(x1, wav)
        plt.plot(x2, outputs)
        plt.show()

if __name__ == "__main__":
    main()

2. then use the permutation to find the best order(however, it's not right all the time).

Does the order necessary if I only need vad? (detect speech)
I'm trying to implement simple vad without speaker labels with it based on your code but I'm not sure how to get the output from onnx correctly.
# python3 -m venv venv
# source venv/bin/activate
# pip3 install onnxruntime numpy librosa
# wget https://github.com/pengzhendong/pyannote-onnx/blob/master/pyannote_onnx/segmentation-3.0.onnx
# wget https://github.com/thewh1teagle/sherpa-rs/releases/download/v0.1.0/motivation.wav -Otest.wav
# python3 main.py

import onnxruntime as ort
import librosa
import numpy as np

def init_session(model_path):
    opts = ort.SessionOptions()
    opts.inter_op_num_threads = 1
    opts.intra_op_num_threads = 1
    opts.log_severity_level = 3
    sess = ort.InferenceSession(model_path, sess_options=opts)
    return sess

def read_wav(path: str):
    return librosa.load('test.wav', sr=16000)

if __name__ == '__main__':
    samples, sample_rate = read_wav('test.wav')
    window_size = sample_rate * 10 # 10s
    session = init_session('segmentation-3.0.onnx')
    speech_classes = {1, 2, 3, 4, 5, 6}
    for start in range(0, len(samples), window_size):
        end = start + window_size
        window = samples[start:end]
        ort_outs = session.run(None, {'input': window[None, None, :]})[0][0]

I will give you an example tomorrow.

I will give you an example tomorrow.

Thanks. I think that it works now, pretty accurate.
# python3 -m venv venv
# source venv/bin/activate
# pip3 install onnxruntime numpy librosa
# wget https://github.com/pengzhendong/pyannote-onnx/blob/master/pyannote_onnx/segmentation-3.0.onnx
# wget https://github.com/thewh1teagle/sherpa-rs/releases/download/v0.1.0/motivation.wav -Otest.wav
# python3 main.py

import onnxruntime as ort
import librosa
import numpy as np

def init_session(model_path):
    opts = ort.SessionOptions()
    opts.inter_op_num_threads = 1
    opts.intra_op_num_threads = 1
    opts.log_severity_level = 3
    sess = ort.InferenceSession(model_path, sess_options=opts)
    return sess

def read_wav(path: str):
    return librosa.load(path, sr=16000)

if __name__ == '__main__':
    session = init_session('segmentation-3.0.onnx')
    samples, sample_rate = read_wav('test.wav')

    # Conv1d & MaxPool1d & SincNet https://pytorch.org/docs/stable/generated/torch.nn.Conv1d.html https://pytorch.org/docs/stable/generated/torch.nn.MaxPool1d.html https://github.com/pyannote/pyannote-audio/blob/develop/pyannote/audio/models/blocks/sincnet.py#L50-L71
    frame_size = 270
    frame_start = 721
    window_size = sample_rate * 10 # 10s

    # State and offset
    is_speeching = False
    offset = frame_start
    start_offset = 0

    # Pad end with silence for full last segment
    samples = np.pad(samples, (0, window_size), 'constant')

    for start in range(0, len(samples), window_size):
        window = samples[start:start + window_size]
        ort_outs: np.array = session.run(None, {'input': window[None, None, :]})[0][0]
        for probs in ort_outs:
            predicted_id = np.argmax(probs)
            if predicted_id != 0:
                if not is_speeching:
                    start_offset = offset
                    is_speeching = True
            elif is_speeching:
                start = round(start_offset / sample_rate, 3)
                end = round(offset / sample_rate, 3)
                print(f'{start}s - {end}s')
                is_speeching = False
            offset += frame_size

I'm looking for simple embedding onnx model for speaker embedding so I'll have accurate diarization on each segment.
After that I'll try to implement it in Rust.

The classes (without softmax) of the models are:
{no speech}, {spk1}, {spk2}, {spk3}, {spk1 & spk2}, {spk1 & spk3}, {spk2 & spk3}
So, why did you use np.argmax? Just set the speech_prob to 1 - ort_outs[0], and then compare with your threshold.

So, why did you use np.argmax?

I understood that the model output is series of probs (7) floats. And the index correspond for their class type (eg. index 0 is no speech).
So I used np.argmax to take the highest prob index.
Maybe I completely wrong but it works somehow.
Why do I need additional embedding model if pyannote model already return speaker label?
Also, I implemented it with Rust! the segmentation works pretty good.
However the speaker embedding doesn't work well. Maybe you can take a look on the computing of the embedding?
https://github.com/thewh1teagle/pyannote-rs/blob/main/src/embedding.rs#L19-L37

Maybe np.argmax(probs) == 0 => probs[0] > 0.5 is better. Because the probs are not normalized.

Why do I need additional embedding model if pyannote model already return speaker label?
Because the speaker index may change in different windows (the model does not have context of the speakers):

There are two speakers Alice and Bob.
Alice speaks in the first window. The model labeled Alice as spk1.
Bob speaks in the second window. The model may label Bob as spk1, too.

Sorry, I'm not familiar with Rust.

Because the speaker index may change in different windows (the model does not have context of the speakers):

Oh now I understand, it's a bit confusing.
Do you think that embedding models works better / accurate? from what I've tested they not at least not accurate as pyannote speaker labels. even your repo with reordering is pretty accurate.
Do you have idea how to get good speaker lables? I tried to use nemo / speaker3d models but it's not accurate at all.

Did you try any clustering algorithms? How did you try nemo or speaker3d models?

Did you try any clustering algorithms? How did you try nemo or speaker3d models?

I didn't tried clustering algorithms.
I tried nemo with onnxruntime like so:
https://github.com/thewh1teagle/ort-diarize/blob/main/extract.py#L41
And compared distance with:
https://github.com/thewh1teagle/ort-diarize/blob/main/identify.py#L9
Actually it's not that bad in Python. Maybe I did mistake in the fbank computing in Rust

Thanks a lot for the help!
I created pyannote-rs
And it works good. Now it can be used in wasm more easily


fix: null dates in table chart

SUMMARY
Currently, when a date is null and it's in a temporal column, it renders as 1970-01-01 instead of N/A. This PR fixes it
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Test dataset (generated in SQL Lab):

Table chart before fix:

Table chart after fix:

TESTING INSTRUCTIONS
CI, new unit test, create a dataset with a temporal column in dev, add at least one row with null, ensure it renders as N/A
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

to: @ktmud @graceguo-supercat @michael-s-molina @rusackas

/testenv up


Add recent transactions to YNAB app

Description
Add recent transactions to YNAB app -- Add an option to pull the last 8 transactions and display them on the Tidbyt app.
Copilot

🤖 Generated by Copilot at ba1a1c4
Summary
📝🆕🎨

Added a new feature to the ynab app that allows displaying recent transactions from the YNAB budget, as well as improving the existing feature of displaying categories and balances. Updated the manifest.yaml, README.md, and ynab.star files to reflect the changes and provide documentation and screenshots.

ynab app evolves
Showing transactions, colors
Autumn of budget

Walkthrough

Added a new feature to display recent transactions in the YNAB app, with a config option to enable or disable it (link, link, link)
Improved the display of categories by using different colors for negative balances, spending vs budgeting, and currency formatting (link)
Updated the manifest and README files to reflect the new feature and the changes in the app description and screenshots (link, link)
Refactored the code to use a single variable for displaying items, either categories or transactions, depending on the mode (link, link, link, link)
Changed the message for no items to display to be more concise and consistent with the title (link)

Hey @DanielJRutledge. Gonna merge this, but wanted to ask if you'd be up for adding a default graphic for the case where no api key has been entered? That'd allow us to show users an illustrative preview that gives them a sense of what the app is and what it does.


Micro cart panel doesn't correctly displayed in safari if bottom buttons are visible

Current behavior
In mobile version, safari, click on cart icon, the microcart-panel is open, but if the bottom buttons are visible the panel is not correctly displayed.
Expected behavior
The micro cart panel correctly displayed.
Steps to reproduce the issue
Open the micro cart panel
Can you handle fixing this bug by yourself?

[ ] YES
[ x ] NO

Environment details

Browser: Safari, 13.6.1
OS: iOS
Code Version: VSF Capybara Theme

Additional information

I think some css need to be added in
https://github.com/DivanteLtd/vsf-capybara/blob/c46f43df003d8b19b78df31fbd7bb06ba9b3ce98/components/organisms/o-microcart-panel.vue#L68

I attached a picture, the part in black is where the GoToCheck button is not displayed, but is the bottom button aren't visible GoToCheckout is correctly displayed.

The max-height is not correctly calculed in the line if the bottom bar is visible. So the var(--bottom-navigation-height) need to be updated.
Maybe it is related to:
https://stackoverflow.com/questions/24889100/ios-8-removed-minimal-ui-viewport-property-are-there-other-soft-fullscreen/26884561#26884561
https://github.com/DivanteLtd/vsf-capybara/blob/c46f43df003d8b19b78df31fbd7bb06ba9b3ce98/components/organisms/o-microcart-panel.vue#L206

Behavior was fixed in this PR: #577


Reactivate Risk detection after a time

Currently you can switch off or on the risk detection in the app.
It would be nice if there is an option to switch off the detection only for a time range (for example 1h or some minutes) and after this the app is active again.
would be helpful for example if you enter a Test Center where potentially multiple persons are positive.

I think if you're in a Testcenter and there are positives around you want to get notified, but a use case would be for people working there and wearing equipment.

@belerovon
Hi, thanks for the suggestion!
I recommend you take a look at #661 and think about whether this issue is really necessary.
Have a nice Monday!

Thanks for your suggestion @belerovon. Since your suggestion of reactivating exposure logging after a selected amount of time is similar to @Ein-Tim's suggestion to send a reminder notification for reactivation, your suggestion has been added to the same internal ticket.
Internal Tracking ID: EXPOSUREAPP-11150

Corona-Warn-App Open Source Team

If I'm not wrong EN-Apps are not allowed to turn on exposure logging without the user doing this. So this is impossible to be implemented. Or @thomasaugsten?

ENF Apps are not able to stop or start the ENF. Only the user can do this in the OS settings

@thomasaugsten
Okay thanks for the confirmation.
But is CWA allowed to switch off/on exposure logging inside of the app without user interaction?


Do not allow someone to run a nebula lighthouse with an ephemeral port

Running a lighthouse with an ephemeral port doesn't make sense, so we should not allow nebula to be started this way.

@rcrowley You Have No Power Here!


Training with 8 GPUs

Thanks for sharing the nice code :)
For fast training, I would like to use 8GPUs.
In this case, should I increase the learning rate by (x2) and reduce the iteration number by half (or just leave it as it is)?
Thanks,

I would suggest using the same settings (learning rate and iteration unchanged) except batch size (which is what I will do).
Poly lr schedule is different from sgd, we don't know how to properly modify learning rate and iteration yet.

Thanks

when 8 GPUS, what is about your suggest IMG_PER_BATCH? @bowenc0221

@superxiaoying All models in the MODEL_ZOO are trained with 8 GPUs now, so you can use their corresponding config file with 8 GPUs.


adding chatbot

Title/Heading
this is a chatbot goto readme to learn more
Fixes # (issue)
this not fixing any issues
Type of change
Checklist:

[x ] My code follows the style guidelines of this project
[x ] I have performed a self-review of my own code
[x ] I have commented my code, particularly in hard-to-understand areas
[x ] I have made corresponding changes to the documentation
[x] My changes generates no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

https://github.com/bajajvinamr/HacktoberFest2020/pull/192/files
Plagiarism not at all accepted here


Enhance Responsive Layout for Buttons and Image on Dashboard Page

This update improves the responsive design of the dashboard page (app/views/organizations/adopter_fosterer/dashboard/index.html.erb) by adjusting button and image spacing. The following changes were made:
Added mt-sm-2 and mt-1 classes to the buttons to ensure they wrap correctly on tablet screens and have consistent spacing.
Reduced the top margin on the image element from mt-12 to mt-6 to minimize excess spacing on tablet and mobile views, improving the overall visual balance on smaller screens.
These adjustments enhance readability and layout consistency across different devices.

Hello, I tried to fix the issue.
This is what I did:
Updated the dashboard page (app/views/organizations/adopter_fosterer/dashboard/index.html.erb) to enhance responsive design by adjusting button and image spacing. Added mt-sm-2 and mt-1 classes to buttons for better wrapping on tablet screens and consistent spacing. Reduced top margin on the image element from mt-12 to mt-6 for improved visual balance on smaller screens.
You can review changes in this commit: https://github.com/lattaai6/rubyforgood-homeward-tails-1128/commit/a190107a28025c11213b1931d2b5fe51aa9bddb0.

[!CAUTION]
Disclaimer: This fix was created by Latta AI and you should never merge before you check the correctness of generated code!
The fix provided by Latta AI might not be complete and it can serve as an inspiration.

This issue was fixed for free by Latta AI - https://latta.ai/ourmission
If you no longer want Latta AI to attempt fixing issues on your repository, you can block this account.

@all-contributors
please add @palidii for code.


the system administrator is the project manager, without additional project manager privileges

In GitLab by @cuiaq123 on Nov 8, 2017, 09:19
If you are reporting a problem, please make sure the following information are provided:

Version of board (last git commit number) , docker engine and docker-compose.
Config files of board, you can get them by packaging "board.cfg" and files in the same directory, including subdirectory.
Log files, you can get them by package the /var/log/board/.
Other necessery information.

Menu location：admin options
Preconditions：
operating：Give the user system administrator privileges
expected results：the user has the system administrator privileges
actual results： it also automatically checked the project manager permissions

In GitLab by @wknet123 on Nov 8, 2019, 07:40
'Project Manager' has no longer existed since refactor works on role based access model.

In GitLab by @sokril on Nov 8, 2019, 08:13
closed

In GitLab by @sokril on Nov 8, 2019, 08:13
assigned to @wknet123


[rancher-python] add timeout to each request (pull-request)

Enhancement
I found the need for having a configurable (request) timeout in the rancher-python client, therefor I created this pull-request:
https://github.com/rancher/client-python/pull/15
It is just a simple way to not wait to long if you don't have to.

No @stale-bot, this issue still persists and has an open PR.


customizations: add @tab.anchorline, document GLT vertical alignment

This PR adds a new attribute, @tab.anchorline, required to properly encode vertical alignment of symbols in certain German Lute Tablature (GLT) sources, and fills in documentation (including facsimile images and sample encodings) to describe the topic of vertical alignment of symbols in GLT more broadly.

Looks good and renders fine. No schematron errors. Thank you!


Fix canvas icon-color alpha handling

Fixes #15290
Makes the handling of alpha in icon-color and icons in IconImage consistent with WebGL

The icon already accepts an opacity.  It seems like it would be simpler to parse the color and remove any alpha before rendering it.  Then the alpha could be applied as opacity.  And we need to decide how to handle cases when both opacity and alpha are supplied.

Opacity is an updateable setting for all ol/style/Image subclasses (which might also have alpha in their fill or stroke) and is handled by the canvas layer renderer, while color is applied when the IconImage is constructed.  Also an icon can have semi transparent regions (as in the test), which were also not handled consistently compared to WebGL.  Applying an opacity in addition to a color with alpha appears to give consistent results for canvas and WebGL in the test setup.

I have checked how well outputs from canvas and WebGL match in a setup similar to the rendering test, and with various combinations of icon-color alpha, icon-opacity and layer opacity, using ol/source/Raster to highlight any pixels which are not exactly the same

It is apparent that using 0.5 twice in those situations can produce more differences than using 0.25 once - this is because there is no such thing as a 0.5 alpha, it is either 127/255 or 128/255 - and using those together will produce a better match.  However specifying 127/255 as alpha for an icon-color does not work as expected as ol/color#asString rounds alpha to 2 places, which then produces the same result as 128/255.

The IE fallback removed in #13912 always worked correctly, and was probably faster even without the additional drawImage calls needed to make the multiply globalCompositeOperation work as expected, so is used again as long as the canvas is not tainted.

@tschaub @ahocevar Ready for review

@ahocevar any chance of someone reviewing this?
The main issue it is trying to fix is seen with an icon (or fill pattern) containing (from center outward) pure white, semi-transparent white, semi-transparent black, pure black, and pure transparency, as seen on the left.

When multiplied by pure red specifications such as KML expect the result on the right - both whites become red with alpha unchanged, and the blacks are unaffected.  The WebGL vector renderer does that, as did the old IE workaround.
Google Earth:

With the removal of the IE workaround the canvas renderer currently uses a multiply globalCompositeOperation which produces the blended result in the center.  This PR effectively restores the IE workaround and, for tainted canvas only, uses a lengthy fallback to produce the same result with globalCompositeOperations.
MapLibre uses an sdf operation where the color replaces fully opaque regions while semi opaque regions becomes fully transparent (the ol-mapbox-style code appears to do something similar) which is not relevant here.
@tschaub's suggestion to use the color's alpha as icon opacity is valid, but could be done independently to this in the Icon style at any time - it would not affect the output but could offer more configurability.  Even if Icon style removed alpha from color IconImage would still need to support colors with alpha for fill patterns.


Use travis-ci

The build is failing, but this also seems to accurately reflect my local environment.


Duplicate file shortcut

Fixes #14

Hi @carlosflorencio, not ignoring this one, just trying to decide whether it's worth adding an extra feature for. Trying to pay attention to how often I end up needing it and what I tend to do as a workaround.
Much of the time, what I actually want to copy is the filename, which ends up being a trivial yank and % in vsnetrw, but that doesn't cover the case where I also want to duplicate the contents.
Making y and p work seamlessly in that buffer is also an appealing strategy, but would be a much bigger departure in terms of feature set.

Yeah no worries, like you said making y p requires much more work. At the moment I'm using my fork and use this feature a lot.


Powershell MFA

It would be great if you could provide more native support for MFA in your existing powershell applications such as ISE.

@Jimbos10 Thank you for engaging with the community here for the docs
Native Support for MFA inside the existing apps sounds like a great idea.
I know the product teams are always looking for user feedback and how to make the OneDrive / SharePoint better. They keep a close tab on User Voice https://sharepoint.uservoice.com and if you don't mind it would be awesome if you could look through and give your input in User Voice and if you don't see a similar request already you could open one. Let us know and we can up-vote your request too.
Thank you for your contribution to make the docs better! Much appreciated!


Rocksdb vs leveldb

Hi, thanks for writing SeaweedFS. I was curious about the choice to use LevelDB as the storage backend for a few components. Most projects I see prefer RocksDB, the Facebook-developed fork. I don't know what technical advantages there are in this case, but I believe Rocks is generally preferred because it's actively developed, and some talk around LevelDB having a bad reputation with data corruption at scale.

RocksDB is in C++. If there is a pure Go port, SeaweedFS can use it too.
SeaweedFS is using go version of leveldb.


AUI-1839

Hey @mairatma,
Attached is an update for http://issues.liferay.com/browse/AUI-1839.
Please let me know if you have any questions.
Thanks!

Just started reviewing :) :octocat: Sent from GH.

Pull request merged into liferay/master.


gso-koeln

Georg-Simon-Ohm-Berufskolleg in Köln

File must end in .txt.

@nookieHD Flagging as inactive.


Animated Scoreboard

Hi, how could I make an animated scoreboard using your API?

Hello, you must run a scheduler every X ticks and simply call the setLine method inside it with the line number and the String.
There is currently no utility class for doing some String animations easily, but it's planned for later.

I think I rushed too much, I don't even get a static scoreboard, I followed the steps of github and I can't make a scoreboard with this api, I'm currently at 1.12.2

This is my code
@EventHandler

public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
BPlayerBoard board = Netherboard.instance().createBoard(player, "My Scoreboard");
board.set("Hola", 1);
board.get(1);

}

Your code seems correct, check if your listener is correctly registered, if your plugin is correctly exported, if you don't have any error in the console, and things like that

My plugin is exported correctly, I don't receive errors, and my listener is registered

it just doesn't show anything upon entering

No error

But not display the scoreboard

I will send you the whole code of my class
`
package miniprueba;
import fr.minuskube.netherboard.Netherboard;
import fr.minuskube.netherboard.bukkit.BPlayerBoard;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
public class ScoreBoard implements Listener{
private final MiniPrueba plugin;
public ScoreBoard(MiniPrueba plugin){
    this.plugin = plugin;
}

@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();

BPlayerBoard board = Netherboard.instance().createBoard(player, "My Scoreboard");
board.set("Hola", 1);
board.get(1);

}
}`

Ok, I solved it, I just had to put depend: Netherboard and put the pl to my server, how could I use the api correctly and not have to put Netherboard.jar in my plugins folder?

You can copy the core and bukkit modules to your code, or include them inside your jar using Maven/Gradle

Regarding the animated scoreboard, would this code be good?
`package miniprueba;
import fr.minuskube.netherboard.Netherboard;
import fr.minuskube.netherboard.bukkit.BPlayerBoard;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scheduler.BukkitScheduler;
public class ScoreBoard implements Listener{
private final MiniPrueba plugin;
public ScoreBoard(MiniPrueba plugin){
    this.plugin = plugin;
}

@EventHandler
public void Sb(Player p) {

BPlayerBoard board = Netherboard.instance().getBoard(p);
board.set("Hola", 1);
board.get(1);
board.setName("Skere");
    }
public void R(){
    BukkitScheduler sc = Bukkit.getScheduler();
    sc.scheduleSyncRepeatingTask(plugin, new Runnable(){

        @Override
        public void run() {
          for(Player p : Bukkit.getOnlinePlayers()){
              Sb(p);
          }
        }
    }, 0L, 05L
    );
}
}

`

If you create the Scoreboard on PlayerJoinEvent and make sure to call the method R(), this should work

Yes, it worked, now how would it make the score lively?
Sorry if I ask a lot of questions I am learning little by little ...
Code:
`
package miniprueba;
import fr.minuskube.netherboard.Netherboard;
import fr.minuskube.netherboard.bukkit.BPlayerBoard;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scheduler.BukkitScheduler;
public class ScoreBoard implements Listener{
private final MiniPrueba plugin;
public ScoreBoard(MiniPrueba plugin){
    this.plugin = plugin;
}

public void Sb(Player p) {

BPlayerBoard board = Netherboard.instance().createBoard(p, "Skere");
board.set("Hola", 1);
board.get(1);
board.setName("Skere");
    }
@EventHandler
public void R(PlayerJoinEvent e){
    BukkitScheduler sc = Bukkit.getScheduler();
    sc.scheduleSyncRepeatingTask(plugin, new Runnable(){

        @Override
        public void run() {
            Bukkit.getOnlinePlayers().stream().forEach((p) -> {
                Sb(p);
            });
        }
    }, 0L, 05L
    );
}
}`

.

Firstly you must only create the scoreboard once, not each time the scheduler is called, and then in your Sb method you just do whatever you want in it and you'll be able to make animations, edit the texts, etc...

So I would have to remove the method where I have created the scoreboard of the run () method?

.

You must create the scoreboard (createBoard) only once at the beginning of the PlayerJoinEvent, then, inside your scheduler, you get the board (getBoard) and you set the lines (set)

`package miniprueba;
import fr.minuskube.netherboard.Netherboard;
import fr.minuskube.netherboard.bukkit.BPlayerBoard;
import java.util.Random;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.scheduler.BukkitScheduler;
public class ScoreBoard implements Listener{
private final MiniPrueba plugin;
public ScoreBoard(MiniPrueba plugin){
    this.plugin = plugin;
}@EventHandler
 public void Sb(PlayerJoinEvent e) {
 Player p = e.getPlayer();
BPlayerBoard board = Netherboard.instance().createBoard(p, "Skere");
board.set("Hola", 1);
board.get(1);
board.setName("Skere");
 }
 public void obtainScoreBoard(Player p){
BukkitScheduler sc = Bukkit.getScheduler();
sc.scheduleSyncRepeatingTask(plugin, new Runnable(){
    @Override
    public void run() {

        BPlayerBoard board = Netherboard.instance().getBoard(p);
        board.set("Holanda", 1);
        board.get(1);
            }
        }, 0, 5L);

    }

}`
Ok. It is assumed that now I would have to change the text of the score, but how do I get it back to the text of the previous score?

.


Add Minikube based dev env instructions

@mhrivnak This seemed to work, except I didn't see the actuator claim the BareMetalHost.  I'm assuming that's due to the same issue you saw earlier, where our current version of cluster-api was requiring a Cluster.  I'll wait for the cluster-api update to try it again.  The instructions are probably OK, though.

@mhrivnak This seemed to work, except I didn't see the actuator claim the BareMetalHost. I'm assuming that's due to the same issue you saw earlier, where our current version of cluster-api was requiring a Cluster. I'll wait for the cluster-api update to try it again. The instructions are probably OK, though.

Agreed. There's also still the problem that it's trying to connect to ironic to get an image checksum, so unless you have that running and available, it will fail.

Thanks, Michael.  I applied your suggestions.

HI @russellb , I have been trying to setup my cluster api environment on bare metal. I followed the link https://github.com/metal3-io/cluster-api-provider-baremetal/blob/master/docs/dev/minikube.md
I have applied all the CRD's mentioned in the doc
But "make run" command is stuck at

operator-sdk up local
--namespace=metal3
--operator-flags="-dev"
INFO[0000] Running the operator locally.
INFO[0000] Using namespace metal3.
2019-06-12T11:44:43.954+0530	INFO	cmd	Go Version: go1.12.5
2019-06-12T11:44:43.954+0530	INFO	cmd	Go OS/Arch: linux/amd64
2019-06-12T11:44:43.954+0530	INFO	cmd	Version of operator-sdk: v0.4.0+git
2019-06-12T11:44:43.956+0530	INFO	leader	Trying to become the leader.
2019-06-12T11:44:43.956+0530	INFO	leader	Skipping leader election; not running in a cluster.
2019-06-12T11:44:44.008+0530	INFO	cmd	Registering Components.
2019-06-12T11:44:44.008+0530	INFO	kubebuilder.controller	Starting EventSource	{"controller": "metal3-baremetalhost-controller", "source": "kind source: /, Kind="}
2019-06-12T11:44:44.008+0530	INFO	kubebuilder.controller	Starting EventSource	{"controller": "metal3-baremetalhost-controller", "source": "kind source: /, Kind="}
2019-06-12T11:44:44.008+0530	INFO	cmd	Starting the Cmd.
2019-06-12T11:44:44.108+0530	INFO	kubebuilder.controller	Starting Controller	{"controller": "metal3-baremetalhost-controller"}
2019-06-12T11:44:44.209+0530	INFO	kubebuilder.controller	Starting workers	{"controller": "metal3-baremetalhost-controller", "worker count": 1}

Can you please help me debug this.

@prankul88 When you say "is stuck at" do you mean it is failing? Because "make run" will block while the operator runs in the foreground.

Hi @dhellmann , thanks for replying. By stuck I mean, I expected the command to finish, but it did nothing after

{"level":"info","ts":1560335821.304312,"logger":"kubebuilder.controller","msg":"Starting workers","controller":"metal3-baremetalhost-controller","worker count":1}

But later realised that I misunderstood a step in the installation guide but am still facing similar problem.
Would be very helpful if you could take a look to this issue. https://github.com/metal3-io/cluster-api-provider-baremetal/issues/85


REST service to list all dependencies for Rasa responses

AS AN Architect
I WANT to have a REST service to fetch a list all dependencies for Rasa responses
SO THAT there wouldn't be duplicate services for it
Acceptance Criteria

Temporary list of endpoints - https://github.com/buerokratt/Buerokratt-onboarding/issues/8

GET endpoint

[ ] Use GET endpoint /rasa/responses/dependencies to list all Rasa dependencies grouped by responses
[ ] Make requests to OpenSearch matching Rasa forms with index matching Rasa domain.yml

Example
Input

2 different sources are used as input

Rule.yml
version: "3.0"
rules:
- rule: common_tervitus
  steps:
  - intent: common_tervitus
  - action: utter_common_tervitus

Story.yml
version: "3.0"
stories:
- story: andmekaitse_küsimused
  steps:
  - intent: andmekaitse_küsimused
  - action: utter_andmekaitse_küsimused

- story: valimised
  steps:
  - intent: e_valimised
  - action: utter_andmekaitse_küsimused

- story: tervitamine
  steps:
  - intent: common_tervitus
  - action: utter_common_tervitus

Output

A single output if produced

{
    "utter_common_tervitus": {
        "rules": ["common_tervitus"],
        "stories": ["tervitamine"]
    },
    "utter_andmekaitse_küsimused": {
        "stories": ["andmekaitse_küsimused", "valimised"]
    }
}

@turnerrainer Acceptance criteria is wrong

Make requests to OpenSearch matching Rasa forms with index matching Rasa domain.yml

Can i assume that dependencies are in opensearch indexed by inteny like the output. Or should i make 2 different indexes 1 for rules and 1 for stories and then merge them together? But this requires another nodejs service for mapping json.

Could use https://github.com/buerokratt/Training-Module/issues/96 for getting rules related to response and
https://github.com/buerokratt/Training-Module/issues/97 for getting stories realted to response.
But this would require looping all responses in Ruuter and this isn't available right now.
I suggest that we make this endpoint post with input of response
{
  "response": "utter_andmekaitse_küsimused"
}

Or we need another service to map responses with related stories and rules

I made POST endpoint /rasa/responses/dependencies
sample imput
{
    "response_name": "utter_common_hüvasti_jätmine"
}

@turnerrainer loop functionality in Ruuter would help, but not sure if there will be one.

Blocked due to #289

https://github.com/buerokratt/Training-Module/issues/289 is done

Seems like it is undone. When I have utter_kompliment and made an user story that uses the utter kompliment, then it does not show the story under dependencies.

PR: https://github.com/buerokratt/Training-Module/pull/402

When I open the responses page I get 500 error.

Seems to work as intended!


fix(use-sort-by): sorting now ignores column ids that no longer exist

I have a table that dynamically generates columns (there is a switch that transposes rows to columns and vice versa). However if I sort the existing table and then click that "switch" button, I'm getting error Cannot read property 'sortType' of undefined, because the column by which the content was sorted before no longer exists. This PR fixes this issue - if the column no longer exists, the sorting function for it always returns 0 (so the items stay in its original place). I don't remove them from sortBy state, because, as I said, my table has a switch, so if I go back to previous view it will keep the sorting that I set before switching. It works the same way with filters, so I think it's fine.
By the way, I'd recommend installing Prettier as dev dependency instead of relying on globally installed one (I suppose that's how it works right now) - I modified only small part of this file but it reformatted much more than that and I guess it's because of version mismatch - I didn't have Prettier installed globally and I had to install the latest one. But that's a topic for a separate PR most likely.
edit: It seems like in alpha.22 it doesn't work with filters as well... I can prepare a separate PR for that too but now I'm not even sure if you want to support this kind of behavior, though I think in any case the component should not completely fail...

I just installed prettier and did a global format. You should be able to clean up your diffs now by doing the same.

yarn && yarn format should do the trick

Thanks! Done.

Okay, I took a closer look at the issue with filters and it seems like it was just a mistake on your side, you were assigning value to a property of column before checking if column exists, and that column check was just below that. So I fixed that in this PR.


Updated header markup to remove 'd-none' class from 'EMERGENCY' span

Description
Removed the 'd-none' class from the 'EMERGENCY' span within the header section to ensure the text is visible. The 'd-none' class was replaced with the 'd-md-inline' class to maintain responsive behavior, displaying the text on medium and larger screens while hiding it on smaller screens.
Related Issues

Closes #328

Type of PR

[X] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
Before:

After:

Checklist

[X] I have gone through the contributing guide
[X] I have updated my branch and synced it with project main branch before making this PR
[X] I have performed a self-review of my code
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[X] I have commented my code, particularly in hard-to-understand areas.

Additional context:
-Complies with accessibility best practices by making all features available to users with disabilities who might rely on responsive design features or use assistive technologies.
-Mobile and tablet users constitute a significant portion of web traffic. By making the Emergence button visible in responsive mode, the application becomes more accessible to this demographic, potentially increasing user engagement and retention.

@varshith257
The changes in this pull request are now ready for merging into the main branch. I've thoroughly tested the changes to ensure they integrate smoothly with the existing codebase.


Bangladesh map is missing Sylhet Division on map explorer

A user reported that "Bangladesh's map in the map explorer doesn't show the Sylhet division when in administrative area 1 view, and the Sylhet district when in administrative area 2 view." (dc map vs map from wiki)
I looked into this issue and found a few pointers:

AA1 and AA2 have the same dcid.
The contained in place is the same as the dcid for AA2(screenshot)
While Sylhet division does show up under Bangladesh in the place explorer, clicking through there leads to the AA2 page
Clicking on the in sylhet division link on the AA2 page, loops you back to the same page

Found an entry for the actual dcid for AA2 (https://datacommons.org/place/wikidataId/Q2093352)
So maybe just fixing the ID in the AA2 list should work.


"Error: No qualifying bean of type 'java.security.KeyStore' available..."

Dear,
I build & run dgca-issuance-service, when I start maven of this service. The output error like:

I config application.yml file, enable dgc-gateway to upload keystore to DGCG:

Anyone can help with this issue?
Thanks.

I fixed the error and run success, thanks!


Niqqud is displayed incorrectly

Godot version
3.5.stable
System information
Windows 11, GLES3, NVIDIA GeForce GTX 1650,  i5-11300H
Issue description
Some context: Niqqud is a system of signs used to represent how to pronounce Hebrew letters. those signs are written above, below or inside the letter, depending on the sign. Here is a good example (the niqqud is in red):

So ignoring the fact that Godot displays RTL text as LTR, which I know is going to be fixed in Godot 4, it also displays niqqud as if they are separate characters. For example, I used the font Alef  to write this text in Godot:

Which is incorrect, here is an example of what I'm expecting to get:

I didn't find anything talking about niqqud when I looked up the Godot 4 update, so I wasn't sure if it's going to be fixed or not
Steps to reproduce

Create a new project
Download an Hebrew font and add it to the project. The reproduction project I added already has 2 fonts you can try
Create a new DynamicFont with the font you downloaded
Try to write Hebrew text with niqqud. Here is an example you can copy of the text I wrote:
אָ     בּ וֹ

Minimal reproduction project
NikudExample.zip

I didn't find anything talking about niqqud when I looked up the Godot 4 update, so I wasn't sure if it's going to be fixed or not

Try 4.0.beta1 and see if it works :slightly_smiling_face:

This may be a limitation that can't be lifted without breaking compatibility: #54625

I didn't find anything talking about niqqud when I looked up the Godot 4 update, so I wasn't sure if it's going to be fixed or not

Try 4.0.beta1 and see if it works 🙂

oh it is actually displaying it correctly in the beta! ty


Can I change the status bar to the right side?

Thank you for this nice tweak! Can I change the status bar from the left to right? Because the steering wheel of my car is on the right side, not the left.

Hi,
Can you help me get this installed on my iPhone please? I’d really appreciate it.

Hi,
Can you help me get this installed on my iPhone please? I’d really appreciate it.

Thank you for this nice tweak! Can I change the status bar from the left to right? Because the steering wheel of my car is on the right side, not the left.

i think it can be changed in your headunit settings

Thank you for this nice tweak! Can I change the status bar from the left to right? Because the steering wheel of my car is on the right side, not the left.

i think it can be changed in your headunit settings

@vpww
Unfortunately, I can't find any option like that in my head unit settings.

@vpww
Unfortunately, I can't find any option like that in my head unit settings.

The RHD Dock orientation does seem to be linked to the head unit, but most head units don't seem to give you the choice to change it. When RHD drivers use carplay it automatically puts the Dock on the right hand side, so there's probably a little bit of code Apple put in to read the country the head unit is set to and orientates the Dock to make it easier for RHD or LHD.

The RHD Dock orientation does seem to be linked to the head unit, but most head units don't seem to give you the choice to change it. When RHD drivers use carplay it automatically puts the Dock on the right hand side, so there's probably a little bit of code Apple put in to read the country the head unit is set to and orientates the Dock to make it easier for RHD or LHD.

agreed - i will add this

agreed - i will add this

added in https://github.com/EthanArbuckle/carplay-cast/commit/796fcd6063766913b5776bee61a5a786674e2bd9

added in https://github.com/EthanArbuckle/carplay-cast/commit/796fcd6063766913b5776bee61a5a786674e2bd9

When RHD drivers use carplay it automatically puts the Dock on the right hand side, so there's probably a little bit of code Apple put in to read the country the head unit is set to and orientates the Dock to make it easier for RHD or LHD.

I am aware this issue is now closed but i am able to confirm that this is not true, what side the carplay status bar is on is entirely dependent on the headunit settings
t. RHD driver


Contribute a theme for Pleroma FE!

Hello! I created a theme for Pleroma!
https://github.com/asdreemurr844/dracula-pleroma-theme

Hey, very cool! ✨
I just sent you an invitation to join the organization.
I also cloned your repository for Dracula's organization, so you can go ahead and delete or archive yours:

Your repository.
New repository.

Thanks for building this! 🎉


util: Add BUSY_LOOP_HANDLER macro

Needed by babblesim to move time forward in busy loops.

@andrzej-kaczmarek


[Lib-160] added support to remove disabled card for ovms and aikit

Signed-off-by: tarukumar<EMAIL_ADDRESS>Added support to remove the disabled card from rhods dashboard for openvino and intel aikit operator

/test image=qe-catalog-source:v160-8;testrepo=https://github.com/tarukumar/ods-ci;testbranch=remove-aikit-openvino-card-from-dashboard;testuser=user1;testcluster=qeaisrhods-fr9;testarg=--extra-robot-args '-i ODS-702';


CUDA 11 Test: FFT tests failing

Failing Tests
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_0_{axes=None, norm=None, s=None, shape=(3, 4)}::test_irfft2 FAILED [ 82%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_2_{axes=(-2, -1), norm=None, s=None, shape=(3, 4)}::test_irfft2 FAILED [ 83%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_5_{axes=None, norm='ortho', s=None, shape=(3, 4)}::test_irfft2 FAILED [ 84%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_6_{axes=None, norm=None, s=None, shape=(2, 3, 4)}::test_irfft2 FAILED [ 84%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_8_{axes=(-3, -2, -1), norm=None, s=None, shape=(2, 3, 4)}::test_irfft2 FAILED [ 85%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_10_{axes=(0, 1), norm=None, s=None, shape=(2, 3, 4)}::test_irfft2 FAILED [ 86%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_11_{axes=None, norm='ortho', s=None, shape=(2, 3, 4)}::test_irfft2 FAILED [ 86%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_0_{axes=None, norm=None, s=None, shape=(3, 4)}::test_irfftn FAILED [ 87%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_2_{axes=(-2, -1), norm=None, s=None, shape=(3, 4)}::test_irfftn FAILED [ 88%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_5_{axes=None, norm='ortho', s=None, shape=(3, 4)}::test_irfftn FAILED [ 89%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_6_{axes=None, norm=None, s=None, shape=(2, 3, 4)}::test_irfftn FAILED [ 89%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_8_{axes=(-3, -2, -1), norm=None, s=None, shape=(2, 3, 4)}::test_irfftn FAILED [ 90%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_10_{axes=(0, 1), norm=None, s=None, shape=(2, 3, 4)}::test_irfftn FAILED [ 91%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_11_{axes=None, norm='ortho', s=None, shape=(2, 3, 4)}::test_irfftn FAILED [ 91%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestHfft_param_13_{axis=0, n=15, norm=None, shape=(10, 10)}::test_hfft FAILED [ 95%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestHfft_param_13_{axis=0, n=15, norm=None, shape=(10, 10)}::test_hfft_backend FAILED [ 95%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestHfft_param_13_{axis=0, n=15, norm=None, shape=(10, 10)}::test_hfft_overwrite FAILED [ 95%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestHfft_param_15_{axis=0, n=15, norm='ortho', shape=(10, 10)}::test_hfft FAILED [ 95%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestHfft_param_15_{axis=0, n=15, norm='ortho', shape=(10, 10)}::test_hfft_backend FAILED [ 95%]
tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestHfft_param_15_{axis=0, n=15, norm='ortho', shape=(10, 10)}::test_hfft_overwrite FAILED [ 95%]

It seems there is a precision decrease in CUDA 11.
E               AssertionError:
E               Not equal to tolerance rtol=0.0001, atol=1e-07
E
E               Mismatch: 0.667%
E               Max absolute difference: 4.2915344e-06
E               Max relative difference: 0.00027141
E                x: array([[ 8.750391e+01,  7.829688e+01,  1.021133e+02,  6.904395e+01,
E                        4.463257e+01,  5.814697e+01,  5.923633e+01,  6.878809e+01,
E                        9.283203e+01,  5.962695e+01],...
E                y: array([[ 8.750391e+01,  7.829688e+01,  1.021133e+02,  6.904395e+01,
E                        4.463257e+01,  5.814697e+01,  5.923633e+01,  6.878809e+01,
E                        9.283203e+01,  5.962695e+01],...

Enviornment
cu>>> cupy.show_config()
CuPy Version          : 8.0.0b5
CUDA Root             : /usr/local/cuda
CUDA Build Version    : 11000
CUDA Driver Version   : 11000
CUDA Runtime Version  : 11000
cuBLAS Version        : 11100
cuFFT Version         : 10200
cuRAND Version        : 10201
cuSOLVER Version      : (10, 5, 0)
cuSPARSE Version      : 11100
NVRTC Version         : (11, 0)
Thrust Version        : 100909
CUB Build Version     : 100909
cuDNN Build Version   : None
cuDNN Version         : None
NCCL Build Version    : None
NCCL Runtime Version  : None
cuTENSOR Version      : None

cc/ @anaruse

I see it's also a problem in CUDA 10.2, so it's not just CUDA 11..
$ python -m pytest -r f cupyx_tests/scipy_tests/fft_tests/test_fft.py
...
===================================================================================== short test summary info =====================================================================================
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_0_{axes=None, norm=None, s=None, shape=(3, 4)}::test_irfft2 - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_0_{axes=None, norm=None, s=None, shape=(3, 4)}::test_irfft2_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_0_{axes=None, norm=None, s=None, shape=(3, 4)}::test_irfft2_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_2_{axes=(-2, -1), norm=None, s=None, shape=(3, 4)}::test_irfft2 - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_2_{axes=(-2, -1), norm=None, s=None, shape=(3, 4)}::test_irfft2_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_2_{axes=(-2, -1), norm=None, s=None, shape=(3, 4)}::test_irfft2_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_5_{axes=None, norm='ortho', s=None, shape=(3, 4)}::test_irfft2 - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_5_{axes=None, norm='ortho', s=None, shape=(3, 4)}::test_irfft2_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_5_{axes=None, norm='ortho', s=None, shape=(3, 4)}::test_irfft2_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_6_{axes=None, norm=None, s=None, shape=(2, 3, 4)}::test_irfft2 - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_6_{axes=None, norm=None, s=None, shape=(2, 3, 4)}::test_irfft2_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_6_{axes=None, norm=None, s=None, shape=(2, 3, 4)}::test_irfft2_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_8_{axes=(-3, -2, -1), norm=None, s=None, shape=(2, 3, 4)}::test_irfft2 - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_8_{axes=(-3, -2, -1), norm=None, s=None, shape=(2, 3, 4)}::test_irfft2_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_8_{axes=(-3, -2, -1), norm=None, s=None, shape=(2, 3, 4)}::test_irfft2_plan_manager - AssertionError: Parameterized test f...
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_10_{axes=(0, 1), norm=None, s=None, shape=(2, 3, 4)}::test_irfft2 - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_10_{axes=(0, 1), norm=None, s=None, shape=(2, 3, 4)}::test_irfft2_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_10_{axes=(0, 1), norm=None, s=None, shape=(2, 3, 4)}::test_irfft2_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_11_{axes=None, norm='ortho', s=None, shape=(2, 3, 4)}::test_irfft2 - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_11_{axes=None, norm='ortho', s=None, shape=(2, 3, 4)}::test_irfft2_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfft2_param_11_{axes=None, norm='ortho', s=None, shape=(2, 3, 4)}::test_irfft2_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_0_{axes=None, norm=None, s=None, shape=(3, 4)}::test_irfftn - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_0_{axes=None, norm=None, s=None, shape=(3, 4)}::test_irfftn_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_0_{axes=None, norm=None, s=None, shape=(3, 4)}::test_irfftn_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_2_{axes=(-2, -1), norm=None, s=None, shape=(3, 4)}::test_irfftn - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_2_{axes=(-2, -1), norm=None, s=None, shape=(3, 4)}::test_irfftn_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_2_{axes=(-2, -1), norm=None, s=None, shape=(3, 4)}::test_irfftn_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_5_{axes=None, norm='ortho', s=None, shape=(3, 4)}::test_irfftn - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_5_{axes=None, norm='ortho', s=None, shape=(3, 4)}::test_irfftn_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_5_{axes=None, norm='ortho', s=None, shape=(3, 4)}::test_irfftn_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_6_{axes=None, norm=None, s=None, shape=(2, 3, 4)}::test_irfftn - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_6_{axes=None, norm=None, s=None, shape=(2, 3, 4)}::test_irfftn_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_6_{axes=None, norm=None, s=None, shape=(2, 3, 4)}::test_irfftn_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_8_{axes=(-3, -2, -1), norm=None, s=None, shape=(2, 3, 4)}::test_irfftn - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_8_{axes=(-3, -2, -1), norm=None, s=None, shape=(2, 3, 4)}::test_irfftn_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_8_{axes=(-3, -2, -1), norm=None, s=None, shape=(2, 3, 4)}::test_irfftn_plan_manager - AssertionError: Parameterized test f...
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_10_{axes=(0, 1), norm=None, s=None, shape=(2, 3, 4)}::test_irfftn - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_10_{axes=(0, 1), norm=None, s=None, shape=(2, 3, 4)}::test_irfftn_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_10_{axes=(0, 1), norm=None, s=None, shape=(2, 3, 4)}::test_irfftn_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_11_{axes=None, norm='ortho', s=None, shape=(2, 3, 4)}::test_irfftn - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_11_{axes=None, norm='ortho', s=None, shape=(2, 3, 4)}::test_irfftn_plan - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestRfftn_param_11_{axes=None, norm='ortho', s=None, shape=(2, 3, 4)}::test_irfftn_plan_manager - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestHfft_param_1_{axis=0, n=None, norm=None, shape=(10, 10)}::test_hfft - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestHfft_param_1_{axis=0, n=None, norm=None, shape=(10, 10)}::test_hfft_backend - AssertionError: Parameterized test failed.
FAILED cupyx_tests/scipy_tests/fft_tests/test_fft.py::TestHfft_param_1_{axis=0, n=None, norm=None, shape=(10, 10)}::test_hfft_overwrite - AssertionError: Parameterized test failed.
========================================================================== 45 failed, 3147 passed, 304 skipped in 53.31s ==========================================================================

$ python -c "import cupy; cupy.show_config()"
CuPy Version          : 8.0.0b5
CUDA Root             : /usr/local/cuda
CUDA Build Version    : 10020
CUDA Driver Version   : 11000
CUDA Runtime Version  : 10020
cuBLAS Version        : 10202
cuFFT Version         : 10102
cuRAND Version        : 10102
cuSOLVER Version      : (10, 3, 0)
cuSPARSE Version      : 10301
NVRTC Version         : (10, 2)
Thrust Version        : 100907
CUB Build Version     : 100800
cuDNN Build Version   : 7605
cuDNN Version         : 7605
NCCL Build Version    : 2506
NCCL Runtime Version  : 2506
cuTENSOR Version      : None

$ nvidia-smi
Fri Aug  7 07:32:13 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.59       Driver Version: 450.59       CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Quadro GV100        On   | 00000000:01:00.0 Off |                  Off |
| 44%   58C    P2    42W / 250W |      0MiB / 32499MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  Quadro GV100        On   | 00000000:02:00.0 Off |                  Off |
| 39%   52C    P2    42W / 250W |      0MiB / 32508MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

I can confirm I also see it in CUDA 10.2, as @anaruse said.

I was looking at the tests and it seems to me that results are indeed correct but either cuFFT or CuPy is doing the FFT in-place, which is causing failures in https://github.com/cupy/cupy/blob/19073f6b9fb54ca7e45d033b92b1ab5e993605a1/tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py#L1106 . Admittedly, I'm not very familiar with cuFFT and I don't know whether this is expected or not, I couldn't find anything in the documentation that confirms or deny that it should be done in-place. I can confirm this also happens with a V100 on CUDA 10.2 and CUDA 11.0, despite the skip message in https://github.com/cupy/cupy/blob/19073f6b9fb54ca7e45d033b92b1ab5e993605a1/tests/cupyx_tests/scipy_tests/fft_tests/test_fft.py#L1095-L1097 pointing specifically to Pascal and older.
@leofang FYI, maybe related to https://github.com/cupy/cupy/pull/2922 that we briefly discussed earlier today.

It's very odd. I can't reproduce it with CUDA 10.0 + GTX 2080 Ti. Seems like cuFFT somehow changed the behavior in the later 10.x?!

I just confirmed it works for me with CUDA 10.0 on a V100. I've modified the 3_Imaging/convolutionFFT2D sample to compare the input data before and after executing cufftExecC2R and indeed in CUDA 11.0 the input gets modified, but CUDA 10.0 the input data stays the same. I'm asking internally whether this is a bug or expected behavior.

This is the reply I got from the cuFFT team:

Change of behavior was to improve performance and made based on assumption of we are interchangeable with fftw and can destroy C2R input buffer as this is fftw default behavior. It seems that there is demand for this behavior so we'll put it on roadmap to allow preservation of input buffer but without loss of performance.

Note that there's no deadline for that at the moment. Therefore, I see two options:

We skip the tests checking that input data remains unchanged -- different from SciPy's behavior;
We make a copy of the input data to work on -- increases memory footprint.

Any other ideas of what we could do? If not, what's people's preference to the two options above?

You reminded me that I was puzzled by your finding https://github.com/cupy/cupy/issues/3736#issuecomment-670675833, because I thought most of the time we do make a copy internally...Let me check if #3034 changed it for R2C/C2R as well.
I personally like Option 1, but it's late night and I can't think straight 😁

It doesn't seem that we make a copy anywhere @leofang , I don't know if we want to make that copy either.
@kmaehashi @asi1024 any thoughts on what path should we choose here?

btw,

Change of behavior was to improve performance and made based on assumption of we are interchangeable with fftw and can destroy C2R input buffer as this is fftw default behavior.

This is what I found in FFTW's documentation:

FFTW_PRESERVE_INPUT specifies that an out-of-place transform must not change its input array. This is ordinarily the default, except for c2r and hc2r (i.e. complex-to-real) transforms for which FFTW_DESTROY_INPUT is the default. In the latter cases, passing FFTW_PRESERVE_INPUT will attempt to use algorithms that do not destroy the input, at the expense of worse performance; for multi-dimensional c2r transforms, however, no input-preserving algorithms are implemented and the planner will return NULL if one is requested.

cc: @grlee77 (this is the discussion that leads to #3763)

I think #3763 resolved this.


Error during uploading file

@VanHulleOne
I want to know whether scislice converts stl file into gcode or It coverts JSON file into gcode? We want to convert STL to gcode so that Our 3D printer takes commands and is able to print. If your program coverts JSON file into gcode so I want to know How would I convert my stl file into a JSON file??
And ty so much for this program, this helped me a lot for my collage project

SciSlice is best at using its predefined outlines and varying many printing parameters. It tool paths these part in a reasonable amount of time and, through caching, can make multiple parts per print with little additional computation. If you want to print five tensile specimens in one print, possibly all the same, possibly all different, this is the program for you. SciSlice does this quickly with an easy method for adjusting parameters and saving those parameters for later use and reference.
SciSlice is reasonably good at slicing simple STL files, especially if you want to treat the STL as an extrusion and just extract a single "loop" from the STL and use that as the outline for your part. With a little extra effort creating a separate parameters JSON file it will also do multiple STL files at once, each with different layer parameters.
If you want to slice a whole STL, you will find SciSlice to be a little slow. It also has difficulty handling more complex STLs, especially with thin features. Its weakness in this area is mostly from using Shapely to create offsets (shells). I would be interested in learning of other libraries which could handle offsets in a faster and more robust fashon. SciSlice cannot create support structure.


Example of bevy_pixels power with pixel collision

Hello, maybe bevy_pixels shines with pixel collision with twisted shapes ?
if possible, could you show this with a dragon curve shape or a fractal snowflake ?

I'm not sure what you're asking for here? Some kind of example?
I don't think pixel collision would be something this library would handle, as here we're just integrating the [pixels}(https://github.com/parasyte/pixels) renderer into a bevy application. It's quite simple.

hello, usually sprites are squares, maybe with alpha on edges, but the collision checker works on squares.
if you have big shapes like this which collide https://stickeramoi.com/9556/sticker-etoile-de-mer.jpg
it is processed as square collisions, which is wrong.


Add a warning for safer reading of FASTA files using IndexedFastaCustom + bumped GitHub Actions python version to 3.9

Issue
A case that the code didn't cover yet:

Creating fasta files
Reading them using an instance of IndexedFastaCustom (.hdf5 files were created)
Updating the fasta files
Reading them again using IndexedFastaCustom with force_recreate_index=False.

Now the offset values are not matching the .fasta files content and the user didn't get any notice for that.
Suggested (relaxed) fix

Compare the creation times of the files.
Check if the creation time of the .fasta files is newer than the .hdf5 (index) file by a margin bigger than 42 (arbitrary number less than a minute)
If true, raise a warning and notify the user.

@SagiPolaczek is it something you want to merge?
(I'm doing some cleaning)


Removing os-tmpdir dependency (& support Node 7+)

os-tmpdir is deprecated (and shows a warning to Node 7+ users). It's suggested to use require('os').tmpdir() instead. This will work consistently from Node 4+.
So that's what I've done here as well as updating the docs and package.json to say Node 4+ is supported.

@adam-lynch there seems to be a failing test
AssertionError: temp.createWriteStream did not create a file

Any chance you could take a look at that and get it resolved? Appreciate all the help!

@miguelsolano This PR needs a modern version of node.js (v4.0.0+), but travis only tests with v0.11 and v0.10. Maybe update the .travis.yml Node.js versions to v4.0.0 (min.), v8.10.0 (LTS) and v9.8.0 (current) - then it should work.

@piwonesien makes complete sense, my fault. Just created a PR to update the yml file versions and be able to resolve this 👍


133348 fix oom when search opened in editor

This PR fixes #133348
reproduce steps: https://github.com/microsoft/vscode/issues/133348#issuecomment-962272357
I test my fixes on search in plugins.pkgd.min.js from https://github.com/froala/wysiwyg-editor
before my fixes Open in editor consumed 2671MB

after first fix consumed 220MB

after second fix consumed ~15-30MB

existed tests passed - https://github.com/Gvozd/vscode/actions/runs/1427942500

third commit optimized time performance at x40 times on this usecase - from 2.2sec to ~50ms

So speedy! Thanks for working on this!


Add aea test

Proposed changes
This PR adds a new command, aea test.  It works in three modes:

aea test: run all tests of the current AEA project
aea test item_type public_id: run all tests of the AEA package specified
by item_type and publci_id
aea test by-path package_dir: run all the tests of the AEA package located at package_dir

Related to #5
Fixes
n/a
Types of changes
What types of changes does your code introduce to agents-aea?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply.

[ ] I have read the CONTRIBUTING doc
[ ] I am making a pull request against the develop branch (left side). Also you should start your branch off our develop.
[ ] Lint and unit tests pass locally with my changes and CI passes too
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked that code coverage does not decrease.
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Further comments
n/a

Codecov Report

Merging #273 (503f78f) into main (547ca46) will decrease coverage by 0.07%.
The diff coverage is 73.25%.

:exclamation: Current head 503f78f differs from pull request most recent head 47dbfcc. Consider uploading reports for the commit 47dbfcc to get more accurate results

@@            Coverage Diff             @@
##             main     #273      +/-   ##
==========================================
- Coverage   94.67%   94.59%   -0.08%
==========================================
  Files         312      313       +1
  Lines       25276    25348      +72
==========================================
+ Hits        23929    23978      +49
- Misses       1347     1370      +23

Flag
Coverage Δ

unittests
94.59% <73.25%> (-0.08%)
:arrow_down:

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

Impacted Files
Coverage Δ

aea/cli/test.py
70.96% <70.96%> (ø)

aea/cli/utils/click_utils.py
92.90% <72.22%> (-3.10%)
:arrow_down:

aea/cli/core.py
100.00% <100.00%> (ø)

aea/cli/fingerprint.py
100.00% <100.00%> (ø)

aea/cli/local_registry_sync.py
41.07% <100.00%> (ø)

aea/cli/utils/decorators.py
98.86% <100.00%> (+0.02%)
:arrow_up:

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

Tried to migrate tests of protocol contract_api, connection gym, contract erc1155 and skill echo into their own package sources.
Test them with:
aea test by-path packages/fetchai/protocols/contract_api
aea test by-path packages/fetchai/connections/gym
aea test by-path packages/fetchai/contracts/erc1155
aea test by-path packages/fetchai/skills/echo

erc1155 will fail as it cannot load the required fixtures.

Tried to migrate tests of protocol contract_api, connection gym, contract erc1155 and skill echo into their own package sources.
Test them with:
aea test by-path packages/fetchai/protocols/contract_api
aea test by-path packages/fetchai/connections/gym
aea test by-path packages/fetchai/contracts/erc1155
aea test by-path packages/fetchai/skills/echo

erc1155 will fail as it cannot load the required fixtures.

So the question now is where does conftest.py live? I think ideally there is none. Otherwise the whole concept of isolated packages doesn't work. Of course, a package could always define its own conftest.py in tests if it wanted to. But probably only worth doing for larger packages. Or maybe we just scaffold it for all of them?

Tried to migrate tests of protocol contract_api, connection gym, contract erc1155 and skill echo into their own package sources.
Test them with:
aea test by-path packages/fetchai/protocols/contract_api
aea test by-path packages/fetchai/connections/gym
aea test by-path packages/fetchai/contracts/erc1155
aea test by-path packages/fetchai/skills/echo

erc1155 will fail as it cannot load the required fixtures.

So the question now is where does conftest.py live? I think ideally there is none. Otherwise the whole concept of isolated packages doesn't work. Of course, a package could always define its own conftest.py in tests if it wanted to. But probably only worth doing for larger packages. Or maybe we just scaffold it for all of them?

Some ideas for erc1155:

move everything needed in test utils of AEA; this means they will be easily accessible from every package test
add a "only-source-code" AEA package, e.g. valory/test_utils to include the needed utilities and fixtures. We don't have a suitable concept to use for this kind of code distribution in the AEA package system, but we could rely on the "abstract skill" feature.

Another problem is all the import statements that import from packages. We need to load all the AEA packages the package under testing depends on.

Another problem is all the import statements that import from packages. We need to load all the AEA packages the package under testing depends on.

That is only an implementation consideration though right, once implemented, not a problem and makes sense. With our recently introduced consistency checks the developer now can be very considerate about whether or not they want to add extra dependencies.

Tried to migrate tests of protocol contract_api, connection gym, contract erc1155 and skill echo into their own package sources.
Test them with:
aea test by-path packages/fetchai/protocols/contract_api
aea test by-path packages/fetchai/connections/gym
aea test by-path packages/fetchai/contracts/erc1155
aea test by-path packages/fetchai/skills/echo

erc1155 will fail as it cannot load the required fixtures.

So the question now is where does conftest.py live? I think ideally there is none. Otherwise the whole concept of isolated packages doesn't work. Of course, a package could always define its own conftest.py in tests if it wanted to. But probably only worth doing for larger packages. Or maybe we just scaffold it for all of them?

Some ideas for the "erc1155 issue":

move everything needed in test utils of AEA; this means they will be easily accessible from every package test. Drawback: many more Python dependencies in the aea package
add a "only-source-code" AEA package, e.g. valory/test_utils to include the needed utilities and fixtures. We don't have a suitable concept to use for this kind of code distribution in the AEA package system, but we could rely on the "abstract skill" feature.

I feel like: 1) yes we should have a testing lib, why not a plugin? 2) not everything can be moved into 1, there are package specific testing tools and for this a package specific conftest.py is appropriate I guess?
The purpose of the feature is to give us as much clarity what a package delivers, so the more self-contained the better. 1&2 help with this.

yes we should have a testing lib, why not a plugin?

Instead of a plugin, we could add another "extra", like the current test_tools (https://github.com/valory-xyz/open-aea/blob/cli-aea-test/setup.py#L45), although at the moment it has the same dependencies of cli.

@DavidMinarsch the commit 5243e1e makes the manual import more compliant with the behaviour of import statements (or importlib.import_module). See the line setattr(parent_module, child_name, module) in the pseudocode: https://docs.python.org/3/library/importlib.html#approximating-importlib-import-module
Some of the modules in an AEA import path are still fictitious and not straightforwardly mappable to a specific path; e.g. packages whose import path is of the form packages.{aea_project_author}.* could be both vendor and custom packages (AFAIR), or packages itself, which is a pseudo-module. Still, according to the principle of least astonishment, I think it is better to attach child modules to their parent modules.
In fact, some code used in the tests relies on this feature of the standard Python system, e.g. in test_contract_api.py:
@mock.patch.object(
    packages.fetchai.protocols.contract_api.message,
    "enforce",
    side_effect=AEAEnforceError("some error"),
)
...

and I guess this is an approach that should have been followed earlier. Moreover, the change should be backward compatible, as it is an extension of the previous version.

There are still some test packages in tests/test_packages:
tests/test_packages/test_protocols/test_acn.py
tests/test_packages/test_connections/test_p2p_libp2p_client
tests/test_packages/test_connections/test_http_server
tests/test_packages/test_connections/test_p2p_libp2p_mailbox
tests/test_packages/test_connections/test_p2p_libp2p
tests/test_packages/test_connections/test_ledger

There are still some test packages in tests/test_packages:
tests/test_packages/test_protocols/test_acn.py
tests/test_packages/test_connections/test_p2p_libp2p_client
tests/test_packages/test_connections/test_http_server
tests/test_packages/test_connections/test_p2p_libp2p_mailbox
tests/test_packages/test_connections/test_p2p_libp2p
tests/test_packages/test_connections/test_ledger

https://github.com/valory-xyz/open-aea/pull/273#discussion_r962320431


Looking for googleAPI.json

I receive the following error when running main.py?
Routine Failed on OS error: [Errno 2] No such file or directory: 'googleAPI.json'

I was able to get past this by recreating the googleAPI.json in API Console, but there is no longer an option for "other" in application type, so now I get the "unauthorized" error when requesting for the authorization code :( Any work arounds?

Okay, got it to work :D but now, this one, I for sure don't know what to do.
NameError: name 'instaloader' is not defined

It looks like you are trying to run a routine that is failing due to an "OS error: [Errno 2] No such file or directory: 'googleAPI.json' error. This error is raised when the operating system is unable to find the specified file in the given location.
There are a few possible reasons for this error:

The file may not exist at the specified location. Make sure that the file actually exists and that the path to the file is correct.

The file may be located in a different directory. In this case, you will need to update the file path to the correct location.

There may be a permissions issue preventing you from accessing the file. In this case, you will need to ensure that you have the necessary permissions to access the file.

To troubleshoot this issue, you can try the following steps:

Verify that the file actually exists at the specified location.
Check the file path to make sure it is correct.
If the file is located in a different directory, update the file path to the correct location.
If you are unsure of the file path, you can try using the os.listdir() function to list the contents of the current directory and see if the file is there.

I hope these suggestions help you resolve the issue with your routine.


🚀 Feature: Adding Social Media icons to Follow us

🔖 Feature description
Add icons for popular social media platforms to the app's interface, linking users directly to social media profiles. Icons should be clearly visible in the footer.
🎤 Why is this feature needed ?
This will make it easier for users to follow our social media, stay updated, and engage with our content. It promotes user retention and strengthens community connection.
✌ How do you aim to achieve this?
Integrate social media icons (GitHub,Twitter, LinkedIn, Facebook, etc.) styled to match the app’s theme, each linking to our profiles.
🔄 Additional Information
@kom-senapati please issue this under gssoc-extd, hacktoberfest-accepted and level2
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

Are you willing to submit PR?
Yes I am willing to submit a PR!

Okay, please add my social media links in the footer, but only on the landing page.

ok

Any updates ?

Unassigning as no updates

Assign this to me

Any updates?

@kom-senapati may I work on this issue
Will add twitter, linkedin and github profiles in footer

yes


Remove feature extraction code from c3d

Remove self.features = kwargs['model_features'] in c3d.py.
Also remove features from c3d config.

Also remove ret_data functionality in eval.py


Level 4 basic structure and regression

I am not sure what I did here, if by cherry picking commits all the changes from previous commits were also applied up to the latest...

I think this was not the correct thing to do. So I will try this again

have you tried a git rebase -i main? there you can decide which commits you want to have in the branch
(you should make a copy before, otherwise the others are lost if I understand correctly)


adding more macOS touchbar buttons

When not in debug mode, more touchbar buttons could be added.
For example:

Files

Search

Source control

fyi @bpasero


Update bower.json with missed edits/updates over time

Updates the following:

version
homepage (not sure on this)
wyrm (devDependencies)
font-awesome

Believe @agjohnson is the main person who can review this. I don't fully grok the JS ecosystem, and what we're using bower for.


chore: Remove Params concept

The Params concept, originally introduced by Adrian, was outdated and largely superseded by the Flavor concept. It previously specified the Curve, various Curve subtypes, and defined CommitmentKey and VerificationKey for different PCS suites. The information contained in Params was redundant and confusing and led to issues in my work on the recursive verifier. This work:

Defines CommitmentKey and VerificationKey in unique files as single classes templated by Curve with appropriate specializations
Removes the concept of Params altogether (along with the poorly named commitment_key.hpp). Things previously templated by Params are now templated by Curve. (The new commitment_key.hpp now just contains.. the CommitmentKey)
Specifies the Curve, CommitmentKey, and PCSVerificationKey directly in the Flavor classes

Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

LGTM. When you say concept do you just mean common type shape passed throughout? I was somewhat expecting e.g. template <CurveLike Curve> with a CurveLike C++ concept

Hah no I meant it in the colloquial sense. I was conscious of the potential confusion as I was typing the word. Probably time I drop it from my vernacular.

Hah no I meant it in the colloquial sense. I was conscious of the potential confusion as I was typing the word.
Probably time I drop it from my vernacular.
At least when discussing template parameters :D


Requests for __data.json should be skipped entirely when possible

Describe the bug
Re-running server-side load on each navigation is supposed to be skipped now (unless the load function depends on url etc.), but this does not appear to be fully working. Even if a given page has no +page.server.js file, the browser is still making requests to __data.json on each navigation, which return things like {"type":"data","nodes":[{"type":"skip"},null]} - the root (layout) node is skipped, and the leaf (page) node has no data. Requests that would tell the server to skip all of the nodes for which there are no .server.js files should be skipped entirely.
Reproduction
https://github.com/Conduitry-Repros/kit-6201
Logs
No response
System Info
System:
    OS: Linux 5.10 Ubuntu 20.04.4 LTS (Focal Fossa)
    CPU: (8) x64 Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
    Memory: 8.34 GB / 12.32 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Yarn: 1.22.19
    npm: 8.15.0
  npmPackages:
    @sveltejs/adapter-auto: next => 1.0.0-next.65
    @sveltejs/kit: next => 1.0.0-next.431
    svelte: ^3.44.0 => 3.49.0
    vite: ^3.0.4 => 3.0.9

Severity
serious, but I can work around it
Additional Information
This is the situation I referred to in https://github.com/sveltejs/kit/pull/6056#issuecomment-1220125221 - it seems like it was not correctly (or fully?) handled.

An intriguing wrinkle with this is that, by calling __data.json on every navigation whether it needs to be or not, any logging of requests in handle will also reflect any client-side navigation through the app, and (since /__data.json is stripped off from the URL in the event), these logs will look pretty much exactly the same as if each request were being server-rendered. This might be good or it might be bad.

__data.json been stripped off is really bad for us. We have to use event.request.url, cause there you can see it.

What's your use case for knowing that it's the __data.json call?

@dummdidumm We don't want to know. Its the effect of removing __data.json, that's the problem.
Here's how our URLs works (predated sveltekit):
/[language]/  is our "root". /en/path1 and /en/path2/path3 are valid, cause we only use trailing slash for language path.
If we detect /en, we redirect to /en/ , and this is the problem.
When /en/__data.json is requested, event.url becomes /en, and we do a redirect, that breaks the app.
We have solved this by never using event.url, but using event.request.url instead.
Is there a good reason why event.request.url and event.url should differ?

One problem with calling the backend too much is that we don't know that the new page doesn't have a load function. We only know "this route uses server data somewhere along the way", but we don't know "this leaf doesn't use a load function and everything leading up to it is unchanged so you can skip requesting the data".

@Conduitry @dummdidumm after the latest changes, this issue occurs again.

Discussed in Discord, it's working as expected, but is undesired - there are open feature requests related to this.


Removed outdated handling of length parameter to If-Modified-Since header.

The length parameter is not described in RFC-7232 and it's against HTTP/1.0 and HTTP/1.1 specifications. It was an old and unofficial extension set by some ancient versions of IE.

@collinanderson Can you take a look?

Thanks for reviews :+1: was_modified_since() is an internal API so release notes should be enough.


[P0] Demo with Kserve + Caikit + TGIS + NVIDIA GPUs

This demo is based on the upstream components

Istio
Knative
Cert Manager
Caikit Serving Runtime

Testing completed, demo READMEs can be found at https://github.com/Xaenalt/caikit-serving/blob/main/README.md using upstream bits, and https://github.com/Jooho/caikit-serving/tree/downstream-demo/kserve-demo for the downstream bits

@Xaenalt @Jooho the downstream demo does not exist anymore. Could you pls double check?

@bdattoma  I changed the folder and I sent a PR for it : https://github.com/Xaenalt/caikit-serving/pull/1

thank u :)


File download should not auto-open as text file

Right now, the file download API automatically opens the downloaded file in read-only mode (see here). It would be better to return the filename (instead of opening a potentially unnecessary file descriptor) or to at least allow the user to specify the open mode (e.g. if I have saved a model file, I should be able to open it in read-binary mode).

Thanks for the feedback. We're going to be releasing Artifacts soon which will be the new preferred way to handle files and will not return open files. If you call .name on the file object we return, you can open it in any mode you want.

Hey @rmrao
In the past year we've majorly reworked the CLI and UI for Weights & Biases. We're closing issues older than 6 months. Please comment to reopen.


Add the ability to use HTTP Basic auth for connections

I have a seedbox that uses basic auth for its rTorrent XMLRPC and it would be helpful to use it with this library.

ping

@tblyler Sorry I missed this.
This was actually already possible via:
conn, _ :=<EMAIL_ADDRESS>false)

I added a note to the README to show this.


Recommended cargo.lock or local build instructions

Hello, I was bundling some of this stuff up in nix. I wanted to build identically to how you build on your side, but I didn't see a Cargo.lock or steps to make sure I reliably get what you have. Is there a good way to accomplish this?
Thanks!

Oh the Cargo.lock shouldn't be ignored, lemme fix that

Fixed in #4

thanks!


Added UserCollective.company

The goal is to enable people to specify their company without having to create an organization (exactly like on Github)

Coverage increased (+0.01%) to 75.732% when pulling e5b989d8afca60ed031e61352bbf64f14eed184d on company into 86231b45b33e6372daf69a994df0b92ac58d2ae3 on master.

Coverage increased (+0.01%) to 75.732% when pulling 91cee0c6479b00eed27db31ca79fac997c79c06b on company into 02de7713f4220a0293a0c7184973229de7159128 on master.


Unable refresh Recent Results in 0.12.1

You've done a great job the last few days. Congratulations!!
I inform you that in version 0.12.1 the download/ping/jitter graphs are not updated when I change the display range of recent results
Last 24H
Last Week
Last Month
Also I ask you, do you think it will take long to have the time and date of the last execution in the dashboard again?
Thanks again
PC

Closing this issue due to false problem, everything works correctly.
I'm sorry


View DICOM mpeg file

Hello,
I got error  when view dicom mpeg file as below.
Uncaught (in promise) Error: No decoder for transfer syntax 1.2.840.10<IP_ADDRESS>.100
I know OHIF don't support viewing dicom mpeg (2, 4) yet. Do you have a plan for that?
Could you please show me a place where I can research to add more transfer syntax?

I don't have any plans for it at the moment, but I'd be happy to take a PR.
The relevant location is here: https://github.com/cornerstonejs/cornerstoneWADOImageLoader/blob/b468ad706276daa4c3cf6aefb3beca924a588b61/src/imageLoader/decodeImageFrame.js#L51

Thanks @swederik
Sorry, I've already re-built cornerstoneWADOImageLoader. Could you please guide me how to add to OHIF Viewer for test?
My dicom mpeg is stored in pacs server. When OHIF viewer get, server site will parse the file to multi-frame and return stream.

@lam0620, you may want to look at some of the Viewport OHIF extensions that allow you to conditionally handle viewing one or more specific transfer syntaxes. Similar to the PDF extension, you could leverage a custom component to view the MPEG file.

Could you provide a sample DICOM MPEG? The only ones I can find do not play in Osirix, so I don't really trust them.

@dannyrb
Thank you! I'll try with OHIF new React version
@swederik
https://www.mediafire.com/file/vklb8g4stxqxnrm/Anonymized20170816_Noisoi1_mpeg4.dcm/file
https://www.mediafire.com/file/8g2yzuyvn7cqqrj/ETIAM_video_001_mpeg2.dcm/file
Download links are valid in 14 days!


PD - Fix Job Prefix Error

This PR fixes an erorr when creating the pipeline.
Swapping out the job name to be:
$ {JOBNAME}-${IMAGE_TAG}-${JOBID}
The Job "4bpad84-saas-avo-test-${IMAGE_TAG}" is invalid: metadata.name: Invalid value: "4bpad84-saas-avo-test-${IMAGE_TAG}". This field must adhere to DNS-1123 subdomain names spec.More info can be found at https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.

/lgtm
/approve


Crashes when I try to search

When I click on the search bar and type in one character, the application freezes, then the application closes. I included a video demonstrating the bug.
https://user-images.githubusercontent.com/43655781/113361053-0dcdf900-9319-11eb-8e21-85e338ad99d0.mp4

Odd.  Not happening here.  Has this always happened, or did it just start happening recently?

Thanks for the report. Are you using the latest version <IP_ADDRESS>? I can see in the video that the rows have no text So it makes sense for the app to run into problems when searching.
First we have to solve the problem of empty rows. After that, the search problem will be solved.


Create: 2616-minimize-the-maximum-difference-of-pairs.py

File(s) Modified: 2616-minimize-the-maximum-difference-of-pairs.py
Language(s) Used: python
Submission URL: _https://leetcode.com/problems/minimize-the-maximum-difference-of-pairs/submissions/1431670738_

@SaiTeja-002 Thanks for your contribution 👍


[stable/ghost] #1785 namespace defined templates with chart name

#1785

/assign
/ok-to-test

@kevinschumacher another one needs rebase.

@kevinschumacher this still needs re-basing

/lgtm
/approve