404 on filters guide

I searched for "filters" and clicked the second link which references http://vuejs.org/guide/filters.html. But this page is not available (404).

This is because the search engine hasn't fully re-indexed the site after the 1.0 updates.

Okay, thought something like this. Thanks! And... Vue ist amazing! :+1:


Inline AssetMantle image

Please compare the 'squarish' image being uploaded here vs the image already uploaded which looks like a 3d coin. Which is the preferred?

I'm only affiliated with AssetMantle as a validator but the style of the image that's just been added is quite different to the others.

Here's another option: https://golden.com/wiki/assetMantle-3V56NK3

based on the screenshot you just commented, I think we're fine to stick with this 3d coin, then? And am I already working on a bulk update to the URIs, so if this is acceptable, we can close this PR.

I have no real preference, fine to close 👍🏻


tailwindcss-404pages

Issue No. (#80)
Screenshots

@Alidhuniya can you please change that 404-collection directory to only make a single directory of 404-error then add index.html into it. Hope you get it!

@Alidhuniya can you please change that 404-collection directory to only make a single directory of 404-error then add index.html into it. Hope you get it!

Ok, I will do it sir. In the project there is one index.html and other linked HTML file into main index.html. so I should only change the directory yes

@Alidhuniya can you please change that 404-collection directory to only make a single directory of 404-error then add index.html into it. Hope you get it!

I have made changes as you want. please look at it

Awesome work. Thanks for contributing @Alidhuniya 🔥


errors trying to run it locally

I got errors trying to run it locally

Did you run it with the command npm run dev

resolved by adding :  "start": "vite ."
under scripts in package.json
than : npm start dev
thanks


Change call to check

As for now we have Rules as callable classes. It doesn't seem user friendly, so lets change it to  use check() method, see example below for between rule:
Now: Between(18, 30)(25)
After: Between(18, 30).check(25)

Hello! I am interested to contribute. @nikalosa, have you started working on this problem?

Hi @mateuszz0000 , feel free to work on this issue. We appreciate your interest in our project.

@mateuszz0000 If you are willing to contribute I'll assign this issue to you .
I'll try make it more specific

We need to change all Rules (in the directory 'rules_src') so that naming __call__ is changed to check

We need to change all of rule's doctests
for example now we have something like this:

>>> TrueBetween = Between(2, 15)
>>> TrueBetween(23)
False

we need to change it to:
>>> Between(2, 15).check(23)
False

We have parent class of all rules called Rule (located at validator/rules_src/__init__.py). we need to encapsulate new method check into call_
So now we have:

def __call__(self, arg):
        return False

we need to have:
def __call__(self, arg):
        return self.check(arg)

Good luck and don't hesitate on questions! :100:

Would be great! Thanks :)


fix(gui-client): don't share log-directives via file system

At present, the GUI client shares the current log-directives with the IPC service via the file system. Supposedly, this has been done to allow the IPC service to start back up with the same log filter as before. This behaviour appears to be buggy though as we are receiving a fair number of error reports where this file is not writable.
Instead of relying on the file system to communicate, we send the current log-directives to the IPC service as soon as we start up. The IPC service then uses the file system as a cache that log string and re-apply it on the next startup. This way, no two programs need to read / write the same file. The IPC service runs with higher privileges, so this should resolve the permission errors we are seeing in Sentry.

Hmm, looking at Sentry again, this only affects two users. Perhaps we should just ignore those? On the other hand, I am not convinced that we need this functionality so can perhaps just ditch it?

Hmm, looking at Sentry again, this only affects two users. Perhaps we should just ignore those? On the other hand, I am not convinced that we need this functionality so can perhaps just ditch it?

Your call. I do think writing to the filesystem itself shouldn't be a design goal we avoid entirely, but I also don't think we really need the IPC service to follow the log directives at all times.

Hmm, looking at Sentry again, this only affects two users. Perhaps we should just ignore those? On the other hand, I am not convinced that we need this functionality so can perhaps just ditch it?

Your call. I do think writing to the filesystem itself shouldn't be a design goal we avoid entirely, but I also don't think we really need the IPC service to follow the log directives at all times.

I decided to partly revert this and now use the FS just as a cache that only the IPC service writes to. This way, the same log-filter will be applied on startup if the file exists.


Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

Coverage increased (+0.3%) to 99.187% when pulling 3c0657b32bceadebca28732788fbf85133435960 on analysis-86Mwno into 552c16260ff5eb89b5f2f247065fbe31541d331e on master.


Error handling

Is your feature request related to a problem? Please describe.
All functions run without any way to report and act upon (proceed or cancel) the exit status of the preceding commands.
Describe the solution you'd like
The scripts could use clearer error logging to anticipate and handle common user mistakes.
Describe alternatives you've considered
In current form, the scripts already allow either argument input or guided access.
Additional context
N/A

Because I'm sloppy I fixed this with extensive commits to the master branch because I'm a royal git


error happens when converting the linear layer

Platform (like ubuntu 16.04/win10):
ubuntu 16.04
Python version:
3.7
Source framework with version (like Tensorflow 1.4.1 with GPU):
pytorch 1.5.1 with GPU
Destination framework with version (like CNTK 2.3 with GPU):
tensorflow 1.13 with GPU
Pre-trained model path (webpath or webdisk path):
no pre-trained model, just a simple neural network for testing the package
Running scripts:
python convertToIR.py -f pytorch -in test_model.pth -d ir --inputShape 4

simple model:
class net(nn.Module):
    def __init__(self):
        super(net, self).__init__()
        self.linear = nn.Linear(4, 2)

    def forward(self, x):
        return self.linear(x)

dump_model was generated by torch.save(model, 'test_model.pth')
error happens when converting linear layer.
root@b3dccc9e79bd:/opt/conda/lib/python3.7/site-packages/mmdnn/conversion/_script# python convertToIR.py -f pytorch -in test_model.pth -d ir --inputShape 4
Traceback (most recent call last):
  File "convertToIR.py", line 204, in <module>
    _main()
  File "convertToIR.py", line 199, in _main
    ret = _convert(args)
  File "convertToIR.py", line 122, in _convert
    parser.run(args.dstPath)
  File "/opt/conda/lib/python3.7/site-packages/mmdnn/conversion/common/DataStructure/parser.py", line 22, in run
    self.gen_IR()
  File "/opt/conda/lib/python3.7/site-packages/mmdnn/conversion/pytorch/pytorch_parser.py", line 106, in gen_IR
    func(current_node)
  File "/opt/conda/lib/python3.7/site-packages/mmdnn/conversion/pytorch/pytorch_parser.py", line 406, in rename_FullyConnected
    while parent.type == 'onnx::Flatten' or parent.type == 'onnx::Dropout':
AttributeError: 'NoneType' object has no attribute 'type'

@flyangovoyang, thank you for your feedback, the original design of pytorch parser was to converting industiral DL models in which (N)CHW dataformat used widely. 1-D datainput is not supported and some special occasion maybe omitted

@flyangovoyang, thank you for your feedback, the original design of pytorch parser was to converting industiral DL models in which (N)CHW dataformat used widely. 1-D datainput is not supported and some special occasion maybe omitted

My model's input's shape is [Batch_Size, Max_Length], since I observed that the tutorial ignore the batch axis, the ordinary NLP model's input will then become 1-D input for sure.
anyway, how long do you think this problem can be solved?

ummm, MMdnn lacks NLP operators support and model test, sorry I am not sure about that.

got it. thanks for your time.


KeywordRecognizer | Python | macOS: stop_recognition_async() does not work

Describe the bug
Calling stop_recognition_async() after recognize_once_async() does not appear to work correctly.

It takes about 10 seconds to do whatever it is it does.
The canceled callback do not run as a result of invoking it.
get() on the ResultFuture returned by recognize_once_async() blocks forever.

To Reproduce
Steps to reproduce the behavior:

Run the below proof of concept

import azure.cognitiveservices.speech as speechsdk
import time

def speech_recognize_keyword_locally_from_microphone():
    """runs keyword spotting locally, with direct access to the result audio"""

    # Creates an instance of a keyword recognition model. Update this to
    # point to the location of your keyword recognition model.
    model = speechsdk.KeywordRecognitionModel("YourKeywordRecognitionModelFile.table")

    # The phrase your keyword recognition model triggers on.
    keyword = "YourKeyword"

    # Create a local keyword recognizer with the default microphone device for input.
    keyword_recognizer = speechsdk.KeywordRecognizer()

    done = False

    def recognized_cb(evt):
        # Only a keyword phrase is recognized. The result cannot be 'NoMatch'
        # and there is no timeout. The recognizer runs until a keyword phrase
        # is detected or recognition is canceled (by stop_recognition_async()
        # or due to the end of an input file or stream).
        result = evt.result
        if result.reason == speechsdk.ResultReason.RecognizedKeyword:
            print("RECOGNIZED KEYWORD: {}".format(result.text))
        nonlocal done
        done = True

    def canceled_cb(evt):
        result = evt.result
        if result.reason == speechsdk.ResultReason.Canceled:
            print("CANCELED: {}".format(result.cancellation_details.reason))
        nonlocal done
        done = True

    # Connect callbacks to the events fired by the keyword recognizer.
    keyword_recognizer.recognized.connect(recognized_cb)
    keyword_recognizer.canceled.connect(canceled_cb)

    # Start keyword recognition.
    result_future = keyword_recognizer.recognize_once_async(model)
    print(
        'Say something starting with "{}" followed by whatever you want...'.format(
            keyword
        )
    )
    # If active keyword recognition needs to be stopped before results, it can be done with
    #
    stop_future = keyword_recognizer.stop_recognition_async()
    print(f"{time.monotonic()} Stopping...")
    stopped = stop_future.get()
    print(f"{time.monotonic()} Stopped")
    result = result_future.get()
    print(f"{time.monotonic()} Done")

    # Read result audio (incl. the keyword).
    if result.reason == speechsdk.ResultReason.RecognizedKeyword:
        time.sleep(2)  # give some time so the stream is filled
        result_stream = speechsdk.AudioDataStream(result)
        result_stream.detach_input()  # stop any more data from input getting to the stream

        save_future = result_stream.save_to_wav_file_async(
            "AudioFromRecognizedKeyword.wav"
        )
        print("Saving file...")
        saved = save_future.get()
    else:
        result_stream = speechsdk.AudioDataStream(result)
        result_stream.detach_input()

if __name__ == "__main__":
    speech_recognize_keyword_locally_from_microphone()

Expected behavior
The canceled callbacks are called, get() on the future returned by recognize_once_async() returns a result indicating cancellation, and get() on the future returned by stop_recognition_async() returns almost immediately.
Version of the Cognitive Services Speech SDK
1.16.0
Platform, Operating System, and Programming Language

OS: macOS Big Sur 11.2.3.
Hardware: x64
Programming language: Python
Browser: N/A

Additional context
I'm assuming that get() on the future returned by recognize_once_async() should still return after stopping because the documentation says "A future that is fulfilled once recognition has been initialized." "Initialized" doesn't seem to require successful recognition, which leads me to infer that it should still return on cancellation.

It appears that the call to recognize_once_async() did not, in fact cancel anything, despite returning. If I speak the hotword, after cancellation, the program will recognize the hotword and return a successful result. If I speek the hotword before the cancellation finishes (during the 10 second window), then when the cancellation completes, the cancellation callback is invoked, but, again the hotword is also recognized and a successful recognition is returned.

As an interesting counterpoint, though, if I wrap the keyword recognition into a coroutine and run the recognition on a separate thread, then the cancellation works just fine (see below sample). Seems like there might be a threading issue?
If I use the result the in the original coroutine to convert the result to an AudioDataStream and then detach_input(). If I do that in the thread that's getting the recognition result, everything works fine (I assume that's intended, but it makes pushing the the get() of the recognition to a new thread a bit more complicated).
import asyncio
from asyncio import CancelledError
from pathlib import Path
from os import PathLike
from typing import Union
import time

import azure.cognitiveservices.speech as speechsdk

async def _recognize(
    model_path: Union[PathLike, str, bytes]
) -> speechsdk.KeywordRecognitionResult:
    model = speechsdk.KeywordRecognitionModel(str(model_path))
    keyword_recognizer = speechsdk.KeywordRecognizer()

    def recognized_callback(event):
        result = event.result
        print(f"{time.monotonic()}: Recognized: {result.reason}")
        if result.reason == speechsdk.ResultReason.RecognizedKeyword:
            print(f"{time.monotonic()}: RECOGNIZED KEYWORD: {result.text}")

    def canceled_callback(event):
        result = event.result
        print(f"{time.monotonic()}: Canceled: {result.reason}")
        if result.reason == speechsdk.ResultReason.Canceled:
            print(f"{time.monotonic()}: CANCELED: {result.cancellation_details.reason}")

    keyword_recognizer.recognized.connect(recognized_callback)
    keyword_recognizer.canceled.connect(canceled_callback)

    def _get_result():
        result = keyword_recognizer.recognize_once_async(model).get()
        # This works fine
        print(f"{time.monotonic()}: Creating result stream")
        result_stream = speechsdk.AudioDataStream(result)
        print(f"{time.monotonic()}: Result stream created")
        result_stream.detach_input()
        print(f"{time.monotonic()}: Input detached")

        return result

    try:
        print(f"{time.monotonic()}: Recognizing")
        return await asyncio.to_thread(_get_result)
    except CancelledError:
        print(f"{time.monotonic()}: Cancelling")
        keyword_recognizer.stop_recognition_async().get()
        print(f"{time.monotonic()}: Cancelled")
        raise

async def main():
    recognition_task = asyncio.create_task(
        _recognize(Path("YourKeywordRecognitionModelFile.table"))
    )
    try:
        print(f"{time.monotonic()}: Sleeping")
        await asyncio.sleep(2)
        print(f"{time.monotonic()}: Cancelling")
        recognition_task.cancel()
        print(f"{time.monotonic()}: Awaiting")
        result = await recognition_task
    except:
        print(f"{time.monotonic()}: Caught exception")
        recognition_task.cancel()
        print(f"{time.monotonic()}: Recognition canceled")
        return
    print(f"{time.monotonic()}: Await successful")

    print(result)
    if result.reason == speechsdk.ResultReason.RecognizedKeyword:
        print(f"{time.monotonic()}: RECOGNIZED KEYWORD: {result.text}")
        # This would stall
        # print(f"{time.monotonic()}: Creating result stream")
        # result_stream = speechsdk.AudioDataStream(result)
        # print(f"{time.monotonic()}: Result stream created")
        # result_stream.detach_input()
        # print(f"{time.monotonic()}: Input detached")
    print(f"{time.monotonic()}: All done")

if __name__ == "__main__":
    print(f"{time.monotonic()}: Starting loop")
    asyncio.run(main())
    print(f"{time.monotonic()}: Loop complete")

Thanks for reporting this issue. You've provided everything we need to look into this and we're tracking the investigation on the SDK team's backlog. To keep the open issues list fresh, we'll close this issue while it's prioritized and developed against and report back here once we have an update. Please subscribe to the issue to get the latest and please open a new issue (that can freely reference this one) if it was closed prematurely or there's new/different information.
Also feel free to add any information you gather to this issue if you discover more. It sounds like you are doing a great investigation and all info is greatly appreciated.

reopening and labeling it as accepted so @CtrlZvi gets notified when we resolve this after we fix this bug.

Internal work item ref. 3475645.

This has been fixed and it will be available in the next release. Will close this issue when the next release is published

Closed as the Speech SDK 1.24.0 has been released.


cargo publish should fail in a workspace

It is obvious that cargo publish inside a workspace with multiple crates is not ready for prime time. #1169 details what is required. In particular, attempting to run cargo publish inside a workspace may lead to various problems, including, but not limited to, accidentally publishing crates. While I'm personally excited to see cargo gain the ability to publish a whole workspace, I think cargo should be defensive until the feature is mature.

Apparently cargo already does this and I misunderstood the situation.


Re-introduce skipped tests

https://github.com/fabric8-services/fabric8-wit/issues/2343 involves database migrations and until the database is migrated some of the tests will not pass. These tests that depend on the database have been skipped via https://github.com/fabric8-services/fabric8-wit/pull/2333 (https://github.com/fabric8-services/fabric8-wit/pull/2333/commits/08a84da3740c5ac874429245b0f8779f4cca781a)
Once database migrations have been added, the skipped tests should be enabled.

The issues has been resolved. Closing it.


Twitch doesnt work rn

Why Twitch livestreams are not working anymore?

This repo is pretty much dead, use Walkyst's  fork

This repo is pretty much dead, use Walkyst's fork.

thanks, but is there also a new lavalink jar for this fork?

I mean a lavalink with this new lavaplayer fork?

okay thx. Does Twitch works for you?


⚠ Site ANTS has degraded performance

In e537373, Site ANTS (https://ants.gouv.fr) experienced degraded performance:

HTTP code: 200
Response time: 4067 ms

Resolved: Site ANTS performance has improved in 8e55d43.


fix element id in command

I maybe didn't understand exactly this extra piece of code.
Anyway it create command such as:
convert 0 -density 1 400 2 -colorspace 3 RGB 4 -resize 5 2331 [...]
when using you code with:
pdfImage.setConvertOptions(["-density", "400", "-colorspace", "RGB", "-resize", "2331"]);
It now works for me on MacOSX.

Your usage of setConvertOptions is wrong. You should pass object instead of array:
    pdfImage.setConvertOptions({
      "-density": 300,
      "-trim": null
    });

Sorry for the lack of documentation. I'll improve the docs.

Cool thanks


High CPU Usage When Called from Background

My iOS app experiences occasional high CPU usage, which sometimes occurs after two background calls to the Pinglet service and may, at times, take longer to manifest. even when the app is not actively in the foreground. The elevated CPU usage can impact the overall performance of the device and potentially result in reduced battery life.
I try with DispatchQueue.global() and
let SERIAL_QUEUE = DispatchQueue(label: "PINGER_SERIAL_QUEUE", qos: .background)
but same result.

Thank you for your report. Are you able to provide that instruments trace file? Are you creating a new ping instance every time or are you letting the same ping instance run continuously? From the screenshot it looks like a lot of work is happening in the closure callbacks bridging from objc which isn't familiar with the app that I'm using this in (https://pingpoint.io)

Can you show a redacted version of your closure callbacks? It's possible that if the work done in the didSend/didRecieve callbacks takes too long to complete it could end up blocking that internal serial queue.

I just re-read your comment, are you making TWO ping instances at the same time?

No, I try to work with one instance or not, and with 'Ping' once. But after some time, the app is in the background, my app is triggered by Bluetooth to start 'Ping' when the app is still in the background, and during this time, the CPU starts to freak out.
This is my code, I call start from background when Bluetooth connect or something like this, and I close the peripheral, after a few times like this (call start a few times with delay 1-30 minutes ) the app freak.
import Foundation
import Pinglet
class Pinger {
static let sharedInstance = Pinger()
private init() {}
private var pinglet: Pinglet?

//    let SERIAL_QUEUE = DispatchQueue(label: "PINGER_SERIAL_QUEUE", qos: .background)
func start(_ duration: Double) {
    if pinglet == nil {
        print("pinglet ping init !!!!!!!!!!!!!!!!!!!!!! ")
        pinglet = try? Pinglet(host: "<IP_ADDRESS>",
                                     configuration: PingConfiguration(interval: Config.Ping.interval),
                                     queue: DispatchQueue.global())
    }
    try? pinglet?.startPinging()
}

}

Are you calling pinglet?.startPinging() again without calling pinglet?.stopPinging() before? In a quick test I'm seeing it start another ping session on that same socket each time startPinging() is called without a matching stopPinging(). I'll go ahead and change the default behavior to not start pinging again if it is already started to be safe.

Try testing with https://github.com/CocoaBeans/Pinglet/commit/96f077a5fd4dc5361605a0462c9290069707d77c and see if you are still seeing the same problem.

This is the previous version, but the problem still persists
func start(_ duration: Double) {
    stop()
    Logger.log("Coorelation ping start")
    AudioManager.shared.playPingSound()

    if pinglet == nil {
        print("pinglet ping init !!!!!!!!!!!!!!!!!!!!!! ")
        pinglet = try? Pinglet(host: "<IP_ADDRESS>",
                                     configuration: PingConfiguration(interval: Config.Ping.interval),
                                     queue: DispatchQueue.global())
    }
    print("pinglet ping start = \(pinglet)")
    try? pinglet?.startPinging()
    AudioManager.shared.playPingSound()
    Logger.log("Coorelation ping start")
    pingTimer = Timer.scheduledTimer(timeInterval: duration, target: self,
                                     selector: #selector(stop(_:)), userInfo: nil, repeats: false)
}

@objc func stop(_ timer: Timer? = nil) {
    if timer != nil {
        Logger.log("Coorelation ping ended")
    }
    pingTimer?.invalidate()
    pingTimer = nil
    pinglet?.stopPinging()
    print("pinglet ping stop !! = \(pinglet)")
}

Now, I'm trying to test with the new version.

still happened :-(
send you instruments file to<EMAIL_ADDRESS>

Thank you for the details! How are you calling into these functions from your background process? I'm seeing multiple calls to __NSThread__start__ in the trace and my hunch is that there are multiple threads being started for the same instance somehow.

I haven't done much testing outside of my use case since I forked the original project. There is some code that only runs on iOS when it moves to the background that will automatically disable the pings. There might be a bug unless it is deactivated. Try setting pinglet.allowBackgroundPinging = true and see if you have any better luck.

From here, I call the 'pinglet' to start. If my Bluetooth device wants me to start pinging, I use the 'peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?)' function. It's very weird that it still pings without setting this flag to true. I will now check by setting this flag to true.

Thank you for the details! I'm seeing a bug where the background thread is not exiting and cleaning up correctly in the stopPing() function. In my app I create a new ping instance every time the user initiates a new ping so this has remained hidden until now. I'm working on a fix and will get back to you ASAP when I've tracked down the problem. Thank you!

I have fixed several bugs that I'm fairly confident would be causing the issue that you're seeing! Try your app with the fixes in https://github.com/CocoaBeans/Pinglet/commit/a7b76a3780bd1822c1f0001c95574e2300217cd7 and let me know if it works any better.

Thank you for your efforts in addressing the issues. I'll definitely give the fixes in commit a7b76a3 a try and let you know how the app performs. I appreciate your help with this!


Add option to force push LLM weights

The vLLM code couldn't load the new ultravox-dev weights since the LLM weights weren't included. So to make things easier this PR allows for force pushing LLM weights.
A better way to solve this would've been to update vLLM, but for the time being I think this is a simpler and less bug-prone approach.
The model weights were also updated with the following command:
poetry run python -m ultravox.tools.push_to_hub -m wandb://fixie/ultravox/model-zhuang.2024-07-15-ultravox.blsp-kd-4e:v5 -u fixie-ai/ultravox-dev --force_push_llm_weights

Peter has merged his changes to vllm, as such, this PR is not going to be needed. Closing.


Return better error for issue #1502.

Signed-off-by: Eric Sage<EMAIL_ADDRESS>

One small nit, otherwise looks good.
@hairyhenderson Does it LGTY?

Great! Thank you @ericsage. LGTM

Thanks, I made the change to the usage. should be GTG.

Argh, wow, this is going to seem super pedantic, but I think that really should be a call to errors.New.  Sorry, I should have caught it before.  Can you update please?

Done

Thanks!  LGTM


[Task] Clean up previous DIDComm impl

Description
Remove older DID Comm protocols that do not align with our new specification.
Motivation
Fresh start
To-do list
Create a task-specific to-do list . Please link PRs that match the To-do list item behind the item after it has been submitted.

[ ] Clean up identity-comm/src/messages and identity-comm/src/tests
[ ] Clean up bindings/wasm/src/message
[ ] Other places reverencing older DID Comm protocols.

I think https://github.com/iotaledger/identity.rs/pull/467 and https://github.com/iotaledger/identity.rs/pull/468 takes care of the first two items on the To-do list, but I might have missed something.


Fix: add OpenGraph meta tags

What it solves
Resolves #3486
How this PR fixes it
Adds title, desc and image meta-tags, the same ones as on the landing page.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 33.649%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3227

Relevant Lines:
8566

💛  - Coveralls


Filter by metadata

Adds the feature to use XMP tags to select the images that will be included in the gallery.

If I remember correctly, pyexiv2 was deliberately not used, in the name of ease of installation.
I might be wrong, @saimn will confirm this or not.
I know that it is a powerful library, and that metadata is not well supported with Pillow.

I didn't have to do anything more than pip install, but maybe I was just lucky with glibc versions and such, travis here doesn't look happy. If that is a deciding factor, I can try to make this conditional so that pyexiv2-less installations are just as easy as they are now, but ignore the tag filters.

Until recently my knowledge of it was that it was not pip installable, and there was a fork for python 3 support. But maybe things have changed, which can be great. I will try to look more in detail soon.

And even if the installation is easier, I think that this feature would fit well in a plugin.

Hmm it's a bit confusing:

the pyexiv2 I know about is https://launchpad.net/pyexiv2, it is packaged on Debian (https://packages.debian.org/fr/sid/python-pyexiv2), and it is deprecated in favour of GExiv2 (https://wiki.gnome.org/Projects/gexiv2)...
PyPI's pyexiv2 is a different project, a new one, with a first release in July 2019. https://github.com/LeoHsiao1/pyexiv2

I wasn't aware of GExiv2, and it looks more likely to offer a hussle-free installation path. The latest commit switches to using that instead.
Not sure about how your plugins work, though. Any pointers?

Gexiv2 may be easier to install on Linux, but probably not on MacOS/Windows. There is no package on PyPI.
If I look at PyPI (https://pypi.org/search/?q=exiv2&o=), there is py3exiv2 which is the py3 fork on the old pyexiv2, but it does not provide wheels so you need to install libexiv2-dev and libboost-python-dev and compile. And there is the "new pyexiv2", which provides a universal wheel which is weird for a package containing C code, and it seems that .dll and .so are committed directly in the repository ..
So it's a mess and I do not want this in the core package ;), but if you manage to write a plugin that can work with one or some of these packages then it's fine :)
About plugins: http://sigal.saimon.org/en/latest/plugins.html
You may need a new entry point (signal).


Error : Tutorial: validate in Todo-List Application

Dear all,
I cannot get the validate code in the tutorial code to work:
shell> python todo.py
Traceback (most recent call last):
File "todo.py", line 2, in
from bottle import route, run, debug, template, request, validate, static_file, error
ImportError: cannot import name validate
However, the rest of the code works fine after just deleting the two references to validate...
Is this just a versioning issue?

Hey @jrvosse the validate decorator no longer exists, did a PR correcting the documentation!

Any idea when the online ToDo list tutorial [1] will be updated?  This makes it unnecessarily hard for students to learn Bottle...
[1] http://bottlepy.org/docs/dev/tutorial_app.html

This has now been fixed by merging in PR #758. Thanks!

Validate section is still available in tutorial for 0.12 version and at the same time validate decorator is already gone in 0.12.8, which is current stable version.

Team,
am using bottle framework for my web application. Respective to this work, we want to do email verification during registration process for creating a user account in our application. To proceed with this development, i didnt get any bottle related e-mail plugins and not able to close issue. Can you please let me know how to proceed with this issue.

I am trying to connect to mysql from Bottle but I am facing the following issue. I am using URI from login. Pls suggest how to fix this issue
"ImportError: No module named login"


feat: static mappers

Supports static mappers and extension mapping methods.
Mixed mappers (instance mappers with static mapping methods) are not supported.

Codecov Report

Merging #76 (897c32b) into main (8fb5e11) will increase coverage by 0.01%.
The diff coverage is 95.23%.

@@            Coverage Diff             @@
##             main      #76      +/-   ##
==========================================
+ Coverage   89.34%   89.35%   +0.01%
==========================================
  Files          72       73       +1
  Lines        2327     2349      +22
  Branches      299      302       +3
==========================================
+ Hits         2079     2099      +20
- Misses        182      183       +1
- Partials       66       67       +1

Impacted Files
Coverage Δ

...apperly/Descriptors/SimpleMappingBuilderContext.cs
77.77% <ø> (ø)

...iok.Mapperly/Descriptors/Mappings/MethodMapping.cs
93.61% <84.61%> (-3.76%)
:arrow_down:

src/Riok.Mapperly/Descriptors/DescriptorBuilder.cs
97.91% <100.00%> (ø)

src/Riok.Mapperly/Descriptors/MapperDescriptor.cs
100.00% <100.00%> (ø)

...riptors/MappingBuilder/UserMethodMappingBuilder.cs
98.55% <100.00%> (+0.06%)
:arrow_up:

...Riok.Mapperly/Descriptors/MappingBuilderContext.cs
97.50% <100.00%> (ø)

...ppings/UserDefinedExistingInstanceMethodMapping.cs
96.00% <100.00%> (+0.16%)
:arrow_up:

...rs/Mappings/UserDefinedNewInstanceMethodMapping.cs
100.00% <100.00%> (ø)

src/Riok.Mapperly/Emit/SourceEmitter.cs
100.00% <100.00%> (ø)

src/Riok.Mapperly/Emit/SourceEmitterContext.cs
100.00% <100.00%> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Criteria-based Groups

The ability to define a group with criteria, which can allow the group members to change dynamically with time. For example: a group consisting of all weed points, that changes based on the weeds detected in the garden.

Based on conversation with @RickCarlino and early testing, the current UI for selecting criteria (on staging) guides users towards creating a group that is unlikely to be what they want, and is somewhat confusing. Some examples:

Creating a box-selection in the map to set X/Y location criteria currently selects plants, as well as points, weeds, and slots. I imagine it is highly unlikely a user would want to include points of all these types in a group, because it is unlikely for the user to want to perform the same operation at locations of different types. It would be better I think to limit groups to containing points of only one type. Perhaps we should add a dropdown near the top for GROUP TYPE with the options "Plant", "Weed", and "Point", and reveal the other fields once this first selection has been made. Under the hood this would be setting the Pointer Type criteria. This change would allow us to remove the PRESETS and the Point type option in additional criteria as they would be largely duplicates.
When defining criteria using the more human-readable inputs, the content is duplicated in the Advanced section dropdown in a less human-readable way. Not only does the duplication clutter the UI and not really add value, I think the ability to delete the same thing in multiple places, especially when they are named differently is confusing. For example, Plant Type = Broccoli is represented by OpenFarm_Slug = broccoli in the advanced section. I suggest having no duplication of the content to promote a clean UI and minimize possibility of confusion here.
Adding any criteria or removing all criteria results in the help text in the GROUP MEMBERS area to significantly change length and cause a jarring movement of scroll position. I suggest moving all of that help text into a ❓ tooltip to clean the UI of text the user is only likely to read once or twice while learning the feature, and minimize shocks to the scroll position.
I think it will be really common for people to want to select plants based on crop type and plant status, and feel like its better to break those out into dedicated criteria sections rather than lumped into the same "Additional criteria" section.
As mentioned in bullet 1, if the user was forced to choose the group point type up-front, the other options could be conditionally displayed in the advanced section (or not at all) so we would only be showing what is relevant to that point type. For example: plant type obviously does not apply to anything other than plants.
Right now it seems that zones and groups are quite linked. ie: when you create a group, a zone gets created as well. And if you edit a zone's or group's location inputs, the location inputs in the other get updated. This is very confusing to me. I think we either need to

Separate the two resources entirely. A zone could be created/edited/deleted on its own and could be added to a group as a criteria. Location criteria would be removed from the groups edit panel and replaced with a zone selector element. Zones could then be used across groups, and if a zone was updated, that update would get used by all groups using the zone at runtime. However, updating the zone itself wouldn't be updating the group itself. Multiple zones could be added to the group.
Abandon zones altogether and only allow location criteria to be created within a group.

Right now it is confusing and inconsistent that you can create a box-selection to select specific plants, then you hit CREATE GROUP to create a group with those specific plants as a manual selection. Then subsequent box-selections (from the group edit panel) work differently: they create location criteria that adds plants (or any point for that matter) based on criteria rather than the manual selection. I think it would make more sense to users if box selections from the group-edit panel added plants as manual additions. A location box could be added after clicking a special button, or if we go zone route 1, that whole function could just be removed from the group-edit panel entirely.


fix free variables detection for the rhs of joins

Fixes #464
Problem
Quill doesn't detect free variables on the right hand side of joins.
Solution
Fix it!
Checklist

[x] Unit test all changes
[x] Update README.md if applicable
[x] Add [WIP] to the pull request title if it's work in progress
[x] Squash commits that aren't meaningful changes
[x] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

:+1:

:+1:


[language_tools] Update module generation

Module generation at the IR level. This simplifies it greatly....
All generated modules are compileable and pass the bytecode verifier.
In order to generate bytecode bodies, we scoop out the body of the function in the generated bytecode, and update the return type to be what you want as well.
Note that for now there are certain limitations put on the module generation so that test generation can cope with it -- mainly:

No resources are generated (for test generation)
No "complex types" are generated; no reference types are created, nor are any nested structs created
No type parameters are created either for structs or functions.

The generation for cost synthesis is similar, but in this setting we allow (indeed, require) (1) and (2). (3) needs to also be implemented for cost synthesis.

@bors-libra r=dariorussi

:pushpin: Commit a52087e has been approved by dariorussi

:hourglass: Testing commit a52087ed717dc77591d4e09d9c27bbafebdea50b with merge 00e9a17b524d0eebdf82c437b283ea11b9ea7562...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: dariorussi
Pushing 00e9a17b524d0eebdf82c437b283ea11b9ea7562 to master...


[nrf noup] bootutil: Fix missing PCD define check

Fixes a missing PCD define check, an image might have the network core partition layout set but if PCD support is not enabled then it should not assume that PCD support is part of mcuboot.

@hakonfam @sigvartmh @nvlsianpu please review


[WIP] Move thumbnail option

This pull request moves the ThumbnailOption model from 'cmsplugin-filer' to 'filer' so that it will be possible to use it without necessarly installing cmsplugin-filer.
When released cmspluginfiler will need to depend on a filer version with the thumbnailoption model. this pr eventually needs datamigrations to move existing thumbnailoption data from cmsplugin_filer to filer before dropping the old model. Or the "new" thumnailoption model can have a db_table attribute which maps over the legacy name and thus no datamigration is required.
Fix #406
Linked to divio/cmsplugin-filer#208

@stefanfoulis @mkoistinen any comments on this. I spoke with stefan a looong time ago about this (see linked issue)

I think it would be a good idea to move this functionality to django-filer. The migration needs to be well thought out though. Off the top of my head, the following sequence could work:

Add the ThumbnailOption feature to django-filer (in a way that both cmsplugin-filer and this new version of django-filer can work side-by-side).
Release a new version of django-filer
Change cmsplugin-filer to use the new ThumbnailOption from django-filer. With a clean migration.
Release cmsplugin-filer with a dependency link >= the new version of django-filer

Important: django-filer does not know about and needs to work completely without cmsplugin-filer... so all that migration logic needs to be in cmsplugin-filer.

@stefanfoulis @yakky I finished working on both filer and the cms-plugin-filer-image https://github.com/divio/cmsplugin-filer/pull/208/files
I've generated migrations both with south and django migrations.

@stefanfoulis if you're ok with the migrations setup, we will fix the tests and will complete the migration

This PR :+1:
There are still issues with the south migration in the cmsplugin-filer south migrations

@stefanfoulis this is complete. The failing  continuous-integration/travis-ci/push  test is because I mistakenly pushed this branch to this repo instead of the forked one and them removed the spurious branch

:+1: :-)


fix(path.html): split with undefined path

We got error on this.get(path) when path is undefined
Reference Issue
Fixes #5166

@TimvdLippe Could you please reopen this PR
I think using path.toString() is wrong and using String(path) is better for convert to string
Thank you in advance

@AliMD Please see https://github.com/Polymer/polymer/issues/5166#issuecomment-378350880 for the explanation. In other words, String(path) ignores the core issue, while path.toString() fails fast. We want to make this as clear to the user as possible, as this API should NOT be called with either undefined or null.


Read buffer optimizations

Two smallish optimizations to the SSH buffer handling code. This avoids superfluous allocations and makes the code faster.
I tried that with @pierricgimmig new introspection feature and saw improvements up to a factor of 2 or 3. No changes for small data chunks (as expected) but for larger ones the time spent in the copy-function went down quite a bit. For my example it was 25ms before, afterwards 10ms - 15ms.
So I'm rather confident this change does make the situation worse. Obviously more can be done.

Typo in "So I'm rather confident this change does make the situation worse."? :P
Improvement numbers look great, thanks!

Typo in "So I'm rather confident this change does make the situation worse."? :P
Improvement numbers look great, thanks!

:see_no_evil: Yes. Thanks. Fixed!


docs: fix deprecated notice to make tooltips work

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.007%

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
1227

Relevant Lines:
1273

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.007%

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
1227

Relevant Lines:
1273

💛  - Coveralls


Question on usage

I'd like to take some pdfs like the world builder's Guide book and make form templates in Obaidian for documenting and building NPCs, locations, adventures, etc. that I would have in my vault as notes.  Will this help me do something like that?

Well, that is not a very extensive description. It depends on how having a
form will benefit you to input data. Currently uploading files via the form
is not yet supported though
El jue, 9 may 2024, 23:20, blaidd31204 @.***> escribió:

I'd like to take some pdfs like the world builder's Guide book and make
form templates in Obaidian for documenting and building NPCs, locations,
adventures, etc. that I would have in my vault as notes. Will this help me
do something like that?
—
Reply to this email directly, view it on GitHub
https://github.com/danielo515/obsidian-modal-form/issues/252, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AARKJWPKXDCD4CBC2BXGXVTZBPSATAVCNFSM6AAAAABHPQJOQ6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGI4DQNBYGM3DCMA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

What I wanted to do was use the PDF's as a foundation. In Adobe PDF, you can take a pdf and create a form fromnthe scan. I wanted to have something that I could use to generate Obsidian templates from a pdf form to.ise them in my world building.  Does that provide kore clarity?

I am not familiar with thar way of working. Why do you need the PDF as base
? You can define a form using the plugin UI that mimics your pdf. Other
than that, it doesn't fit the workflow you described
El vie, 10 may 2024, 23:25, blaidd31204 @.***> escribió:

What I wanted to do was use the PDF's as a foundation. In Adobe PDF, you
can take a pdf and create a form fromnthe scan. I wanted to have something
that I could use to generate Obsidian templates from a pdf form to.ise them
in my world building. Does that provide more clarity?
—
Reply to this email directly, view it on GitHub
https://github.com/danielo515/obsidian-modal-form/issues/252#issuecomment-2105290061,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARKJWM3QGXU2DBXH2W3UATZBU3OBAVCNFSM6AAAAABHPQJOQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBVGI4TAMBWGE
.
You are receiving this because you commented.Message ID:
@.***>


Autorun issue. Only one module autoruns,

Empire Version
Latest Dev
OS Information (Linux flavor, Python version)
Kali 64 Latest
References:
#80
#195
Issue:
Only one module autoruns, even if I execute 2 or more modules as autorun
For example, I executed collection/keylogger as autorun, then i executed collection/screenshot as autorun. When an agent checks in, only the screenshot runs, not the keylogger.
Whichever module I execute last works.

The architecture is only meant to run one module as an autorun at this point. If you want multiple modules to autorun, you can build out the script logic you want to run and use management/invoke_script to input the new combined script and set it to autorun.

Thank you, were could I find a guide on how to write a simple script? For eg, just to start both keylogger and screenshot.
I have searched, but couldnt get the info i needed to start


corrected issue with swapped addin title/description

The addin showed the description as the title and the title as the description. Made a simple correction to this.

Good catch. Thanks a lot for correcting this.


Failing to compile/inject if path contain non-unicode-symbols

dyci-main installation sucess,but ,i have got this message when i building the project:
Traceback (most recent call last):
File "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang", line 22, in
filename = indexFileLocation + hashlib.md5(className).hexdigest()
TypeError: Unicode-objects must be encoded before hashing
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

it works when i install again :)

@LengBinBin It seems there's non-unicode characters in your path to file right?

yes, but i could not change the file named 'clang'
it seems that the 'ckassName' need set unicode type, before use the 'className' in line
"filename = indexFileLocation + hashlib.md5(className).hexdigest()"
i am tring resovle the problem but fail...
by the way , my python version is 3.4.3 ,is that has effect to the Dynamic code injection ?

As a workaround I would suggest uninstall dyci
Chnage
https://github.com/DyCI/dyci-main/blob/master/Scripts/dyci-recompile.py#L1
https://github.com/DyCI/dyci-main/blob/master/Scripts/dyci-recompile.py#L1
To python 2.7.6 version
And intsall it again.

I have changed python version to
Python 2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54)
unfortunately，it's still got the error  TypeError: Unicode-objects must be encoded before hashing .
and i have tried remove all files and restart the step,it didn't works.
it's there any other possible reasons can affect the plugin?

3 :hourglass: wasted :)

I notice that in the file /dyci-main/Scripts/dyci-clang.py  it's has change the /usr/bin/clang,I try to change the encodingfilename = indexFileLocation + hashlib.md5(className).hexdigest()  in line 22, but failed.
It's seems that only failed in Xcode,in python cell it's working well.
My python knowledge is lacking, could you please help me try to change it?

Can you be more descripitve? :)
Something can fail in many ways :

No access
Failed to compile
Failed to  run
Failed to work

Each of those can have "error" which is shown, when something fails :)
Without this knowledge it's hard to understand what you're trying to do and what the result is

Not even compile successfully.
I have change
filename = indexFileLocation + hashlib.md5(className).hexdigest()
to
filename = indexFileLocation + hashlib.md5(className.encode()).hexdigest() ,
it works,but a new error has cause :
process = Popen(compileString,                 stdout=subprocess.PIPE,                 stderr=subprocess.PIPE) output, err = process.communicate() emulating output / err stdout.write(output) stderr.write(err) in line 65, File "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang", line 71, in <module>     stdout.write(output) TypeError: must be str, not bytes

It seems that Popen in python3 returns "bytes" instead of string :) And stdout have string parameter in it. Don't know too much about python2 and python3 differences.

My python version has been change to 2.7.5  already. But it didn't solve anything.😢

Compile problem has been solved.

add className.encode() before MD5 in file dyci-clang.py line 22
change stdout.write(output)  stderr.write(err) to stdout.write(str(output)) stderr.write(str(err))

Unfortunately
a new issue has coming...
Failed to inject code
 File "/Users/lengbinbin/.dyci/scripts/dyci-recompile.py", line 34
      print 'Directory %s does not exists' % dir
SyntaxError: Missing parentheses in call to 'print'
Save me!  :(

dig deeper :) I wouldn't be able to help you since I cannot reproduce it on own machine.
If you have project (example project) which compiles and inject successfuly try to find what the difference you have, and trace differences. I'll be able to look at this deeply at the end of the week .

I would try to resolve the problem . Hope the issue can been resolved .I will go fight with it. Bless me ...


python311Packages.pyswitchbot: 0.44.1 -> 0.45.0

Diff: https://github.com/Danielhiversen/pySwitchbot/compare/refs/tags/0.44.1...0.45.0
Changelog: https://github.com/Danielhiversen/pySwitchbot/releases/tag/0.45.0
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 288097 run on x86_64-linux 1

8 packages built:

home-assistant-component-tests.bluetooth
home-assistant-component-tests.mopeka
home-assistant-component-tests.shelly
home-assistant-component-tests.switchbot
python311Packages.pyswitchbot
python311Packages.pyswitchbot.dist
python312Packages.pyswitchbot
python312Packages.pyswitchbot.dist


[Feature] When hovered individual data in pie-chart, label Value change

What problem does this feature solve?
What i want is to show the label in default but when i hover another data, the label's value should change. I dont want to use emphasis as it overlaps with the label.
What does the proposed API look like?

what i want is to show it in default state as well. the official exmaple only shows on emphasis. I want the same thing but in label

Example

Also how can i scale the portion which is currently active?

I dont understand

when we hover the item, then the due to the emphasis we get the item scaled. What i need is it to be scaled by default on which item is set active.


Flow debugging

Especially once we have pre/post scripts (#32), folks should be able to debug their flows.

Are you asking to add a Hot key in this menu?

This is the general issue of debugging flows (being able to set breakpoints, step through, etc). Some of the current issues related to the context menu are here: https://github.com/ply-ct/vscode-ply/issues/24.


Masked softmax (& log-softmax)

Description
Masked softmax and log-softmax operators: they mask out values not included in the mask
Checklist
Essentials

[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented

Changes

[x] Two new operators: masked_softmax and log_masked_softmax
[x] Forward and Backward passes included
[x] Optionally, an scaling factor s can be passed as parameter. Each value x in the tensor will be converted into x/s
[x] Normalization by Max value (activated by default) can be deactivated. This can improve performance when no required
[x] Automatic broadcast of mask for axis with size=1 (requires same number of dimensions as input data)
[x] CPU implementation is included

@sxjscience

I think mask should have same shape as input for having a flexible and generic operator.
If any broadcast should happens, I think should be managed externally.
But, I am open mind if people think this op need to deal with brodcasting.

@MoisesHer Currently, the design of GluonNLP attention cell assumes that the mask can be broadcastable. Is it possible to just add the broadcasting support to the head-axis? https://github.com/dmlc/gluon-nlp/blob/20321598a732d254d4a9e036eecbe0ae8abb48a0/src/gluonnlp/attention_cell.py#L249

We can try to revise the implementation of GluonNLP to see if the new OP can pass the unittest. Basically, we will need to change here https://github.com/dmlc/gluon-nlp/blob/20321598a732d254d4a9e036eecbe0ae8abb48a0/src/gluonnlp/attention_cell.py#L500-L501

@mxnet-bot run ci [edge]

LGTM

@sxjscience Do you plan to change the current BERT model in Gluon-NLP repo to use this new op?

Yes, I’m waiting for it to appear in the nightly so I can use the new OP + run the benchmark again.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Adam<EMAIL_ADDRESS>Sent: Friday, December 4, 2020 12:19:23 AM
To: apache/incubator-mxnet<EMAIL_ADDRESS>Cc: Xingjian SHI<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [apache/incubator-mxnet] Masked softmax (& log-softmax) (#19460)
@sxjsciencehttps://github.com/sxjscience Do you plan to change the current BERT model in Gluon-NLP repo to use this new op?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/apache/incubator-mxnet/pull/19460#issuecomment-738637892, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABHQH3QXQM54F357X6WO5BLSTCLQXANCNFSM4TGFSYVQ.


Feature Request: "this file is autogenerated"

It would be great to include a comment at the top saying "This file is autogenerated. Do not edit it by hand!"
Bonus points if this could be configurable, or an option passed to the quickgen command. (For ideas, it solves a similar problem as Webpack's BannerPlugin: https://webpack.js.org/plugins/banner-plugin/)

Would be even better, if this added a eslint magic comment to disable linting on it.


WA-432-ui-onboarding-process

New user interface for the browser extension.
Onboarding process styles and new screen flow.

This PR is huge to review, I know there is no easy way to have a deployed version to test it, but it would be really helpful if you add:

BEFORE && AFTER screenshots
Image pointing which components are new and which views should be reviewed

Can you complete the info, please?


Method names should be nouns, not verbs

We must change some of the names of the methods. Method names can be nouns or adjectives, but not verbs.
For example, replace should be changed to replaced, join to joined, and so on.

Let me make it clear that this does not only apply to the names of string methods.

@Graur @yegor256 what do you think?

@EugeneDar I'm ok with this

@Graur please assign me this

@EugeneDar I have no permissions to do it here. Ask @yegor256, or just submit us a pull request

@yegor256 assign me please

@EugeneDar go ahead

@yegor256 @Graur what do you think about split method. It seems to me that it doesn't need to be changed.

@Graur I'll fix it


Problems when removing mods

We confirmed that if you remove the mod, you will be able to climb up the steps on your own. Please correct it.

MC Ver.1.20.1 Mod Ver.1.3.7

what

auto step


Change base box bucket

Update to http://govuk-dev-boxes-test.s3.amazonaws.com/govuk_dev_precise64_20160323.box

There's a commit in this that shouldn't be there.


TypeError: require(...) is not a function

🐛 Bug Report
Getting this error while running the test case
/home/app_name/node_modules/react-native/node_modules/promise/lib/core.js:113
require('asap/raw')(function () {
TypeError: require(...) is not a function
at handleResolved (/home/lappname/node_modules/react-native/node_modules/promise/lib/core.js:113:22)
at handle (/home/lappname/node_modules/react-native/node_modules/promise/lib/core.js:109:3)
at finale (/home/lappname//node_modules/react-native/node_modules/promise/lib/core.js:175:5)
at resolve (/home/lappname/b2bv1/node_modules/react-native/node_modules/promise/lib/core.js:162:3)
at /home/lappname//node_modules/react-native/node_modules/promise/lib/core.js:203:5
at /home/lavanyaj/lappname/node_modules/react-native/Libraries/Storage/AsyncStorage.js:53:11
at /home/llappname/node_modules/react-native/jest/setup.js:105:46
at processTicksAndRejections (internal/process/next_tick.js:74:9)
My package.json configuration
"devDependencies": {
"babel-core": "7.0.0-bridge.0",
"babel-jest": "^24.0.0",
"enzyme": "^3.8.0",
"enzyme-adapter-react-16": "^1.8.0",
"enzyme-to-json": "^3.3.5",
"jest": "^24.1.0",
"jsdom": "13.2.0",
"jsdom-global": "3.0.2",
"metro-react-native-babel-preset": "0.51.1",
"react-test-renderer": "16.6.3"
},
"jest": {
"preset": "react-native",
"transform": {
"^.+\.js$": "/node_modules/react-native/jest/preprocessor.js"
},
"transformIgnorePatterns": [
"/node_modules/(?!native-base)/",
"/NativeModules"
]
},

Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.

any solution


[wwe] Add extractor

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
The extractor adds support for wwe.com videos

Nice!  Should resolve issue #14781.

Added a commit resolving the issues.
I did not amend for the changes to be more visible but can squash and rebase if necessary.

I addressed the requested changes in the latest commit from 2 weeks ago.
Seems like you did not notice my update. Can you please review again?


feat: tegel ssr

Describe pull-request
Testing Tegel and SSR

Stencil SSR: https://stenciljs.com/docs/static-site-generation-server-side-rendering-ssr
Stencil SSR - "how to" : https://stenciljs.com/docs/hydrate-app

Issue Linking:

No issue: Trying out the feature of Stencil to generate a compatible version of Tegel

How to test

Test to be performed by developers working on experience hub

Note
If this works in beta, let's discuss if we can add it to regular releases in the future. It increases size of package to 6.3MB

Closing this as solution does not work for experience hub.


PUT updates if needed annotations missing

If user has removed al k8s-client managed annotations, the stack apply failed with:
Error: undefined method `[]' for nil:NilClass
    /__enclose_io_memfs__/lib/ruby/gems/2.5.0/gems/k8s-client-0.8.3/lib/k8s/stack.rb:104:in `block in apply'
    /__enclose_io_memfs__/lib/ruby/gems/2.5.0/gems/k8s-client-0.8.3/lib/k8s/stack.rb:100:in `map'
    /__enclose_io_memfs__/lib/ruby/gems/2.5.0/gems/k8s-client-0.8.3/lib/k8s/stack.rb:100:in `apply'

#108 seems similar, we can probably close it after this is merged.


Tiered gift subs didn't show in Yata

Describe the bug
When a gift sub was given in the channel, it showed the message that a gift sub was given, but didn't show the tier number for it. Is this something available in the message? Can we display that?
To Reproduce
Steps to reproduce the behavior:

Receive a gift sub on your channel.
See the message in the chat client.

Expected behavior
I would want it to show which Tier for the gift sub so I can properly thank,
Screenshots

Environment (please complete the following information)

Software
Version

YaTA
v1.11.0

Browser
Chrome

Operating System
Windows

Note, since this deals with gift subs, I don't expect you to send gift subs to test it. Let me know if there's something I can run locally to trap some sort of message when this happens so you can see details.

I'm not sure if I'm confusing this with some other things but I remember the "tier" of something not being something I could catch without pubsub.
Anw, no matter what, I'll investigate and double check that for the next release.

I was definitely confusing this with something else ^^ This will be fixed in the next version.
Note: only tier 2 & 3 are indicated, I left out the word "tier" for tier 1 gifts.


Badge Request: All Contributors

:clipboard: Description
All Contributors is a specification designed to show all contributors no matter there contribution. Currently they have a bot that manually updates a manual Shield.io Badge in Repo's however this doesn't work too well. The alternative that works is the dynamic json endpoint with a query. This works but isn't the easiest to generate. A wrapper to make the URL nicer would be perfect. It would show the total contributors for a repo, as defined by that system. For examlple:
All Contributors | 29

:link: Data
The data already exists in repo's that use it as a JSON file that can be accessed via GitHub Raw. The url would be:
https://raw.githubusercontent.com/*USER*/*REPO*/*BRANCH*/.all-contributorsrc
As the Bot updates the master branch, it would be safe to use that branch to pull the stats from. Currently some are using Shields JSON Dynamic endpoint, with a query to count the contributors array. An example of Dynamic JSON URL is:
https://img.shields.io/badge/dynamic/json?color=orange&style=flat-square&label=All%20Contributors&query=%24.contributors.length&url=https%3A%2F%2Fraw.githubusercontent.com%2FJoeIzzard%2F.github%2Fmaster%2F.all-contributorsrc
This is dynamic url for my .github repo.

:microphone: Motivation
Currently Contributor counts only include people that actually contribute code, where as the all contributors project also recognises those that contribute out side of committing code, such as graphics, bug reports and such. This allows you to show an accurate contributor count for projects that instead use that specification.

I'm going to have a go at implementing this, but not done anything for shields before so any tips more than welcome!

We have a tutorial you can follow though for adding a new badge:
https://github.com/badges/shields/blob/master/doc/TUTORIAL.md
This badge falls into the category of "grab a file from a hard-coded location in a github repo and extract some data from it". Fortunately this is a well trodden path - there are several other badges that do this. Some examples to crib from:

https://github.com/badges/shields/blob/master/services/github/github-lerna-json.service.js
https://github.com/badges/shields/blob/master/services/github/github-manifest.service.js
https://github.com/badges/shields/blob/master/services/github/github-package-json.service.js
https://github.com/badges/shields/blob/master/services/github/github-pipenv.service.js

.all-contributorsrc is json, so you can make use of the fetchJsonFromRepo common helper.
For developing a github badge, you might find you need to set a GH_TOKEN in your dev copy. See https://github.com/badges/shields/blob/master/doc/server-secrets.md for how to set up secrets. Looking forward to reviewing a PR.

This is deployed now :tada: https://img.shields.io/github/all-contributors/all-contributors/all-contributors


Develop

What does this PR do?
This pull request was created to check houndCI
Description of Task to be completed?
refactor of code and ensure no houndCI flag is raised
How should this be manually tested?
npm test
Any background context you want to provide?
No background context
Screenshots (if appropriate)

Questions:
Not Applicable.

Changes Unknown when pulling 9310993da6524aad610dc05858d1fd4a9cce1023 on develop into ** on master**.

Changes Unknown when pulling a835dee14e4c6eb0fbfdb8f8d5bad56dd1a504fb on develop into ** on master**.

Changes Unknown when pulling 188165938c574b4fde4a29bb07bab228c2ea040b on develop into ** on master**.

Changes Unknown when pulling d0c41f145586d4e291187a119eb80d2ea93b8ead on develop into ** on master**.

Changes Unknown when pulling a228d42a60689e69b1217c0cce322b6d4ff8d768 on develop into ** on master**.

Changes Unknown when pulling bb1eb26bf2558f625af795c76f18002dfd1856cf on develop into ** on master**.

Changes Unknown when pulling 9549ec693b78d0bb880e75c48f612b518d16d186 on develop into ** on master**.

Changes Unknown when pulling de6be649901fff4d92ac1fcc0a531b4e6c0f3303 on develop into ** on master**.

Changes Unknown when pulling f3d82637a9bb9fa98f927dd79c025de9ccf916d7 on develop into ** on master**.

Changes Unknown when pulling 0d3272c13a13b8ac7beba405f167adfe7babf8ae on develop into ** on master**.

Changes Unknown when pulling 13f33d5e120213d4db182a9b4679c8edc8ecaf61 on develop into ** on master**.

Changes Unknown when pulling 655e015d3b6cef3de03100af2150e7e047267868 on develop into ** on master**.

Changes Unknown when pulling f6f66c7b97c676d2cda5846d07bb11c1c4055404 on develop into ** on master**.

Changes Unknown when pulling 4fb1a01677eabab60fe2c8609d7f68893f26298c on develop into ** on master**.

Changes Unknown when pulling 6816b2a1e3b25a32a73571c4bf3f6e0032386a35 on develop into ** on master**.

Changes Unknown when pulling aa995067ed85b55062f75e6cd3a9860ce0905b08 on develop into ** on master**.

Changes Unknown when pulling e60e5fd7b2ea4ae460b71476fbe1b6bbe51eea4f on develop into ** on master**.


fix: check all dependency licenses

Previously we were only checking production licenses. This change makes it so we're checking development ones as well.
closes #97

Checklist

[x] documentation is changed or added
[x] commit message and code follows the Developer's Certification of Origin
and the Code of conduct

I'm -1 to this change. Ultimately we care about what licenses are used by our users, not what we use locally.

Thanks @mcollina, so is the note at the bottom of https://github.com/pinojs/pino/issues/1762 regarding Blue Oak and Tap not relevant then?


feat(17823): Add form field for the limit of persisted queue message

See https://hivemq.kanbanize.com/ctrl_board/57/cards/17823/details/
This PR adds a new "queue limit" field to the local subscription form.
It is part of the persistence feature and the field has conditions:

if mqtt-persistence is not part of the Edge capabilities, the field is no shown
if the persist flag is not turned on, the field is disabled
if the maxQoS for the subscription is set at 0, the field is disabled

Out-of-scope

The range of valid numbers for the limit is undefined. Users could set any number from 10s to millions of messages. With no default, the initial value will be treated at 0. Using the UI "helpers" for number fields (spinners and mouse wheel) cannot deliver supportive behaviour unless an appropriate "step" is defined (e.g. increment by 1000s). The default increment is 1.

Before

After

I think it make sense to put the numbers of QoS to the labels or similar, since people are used to these numbers.

I think it make sense to put the numbers of QoS to the labels or similar, since people are used to these numbers.

I think that it is even more important since we say use the numbers in the queue part.

I think it make sense to put the numbers of QoS to the labels or similar, since people are used to these numbers.


kubernetes: Mark cilium-etcd-secret secret required

With the etcd-operator becoming the standard, marking the cilium-etcd-secrets as optional is inefficient as it requires a Cilium pod restart to mount the secret after it has been created.
Instaead, mark the secret as required an provide a new cilium-external-etcd.yaml which contains an empty secret. For users upgrading, document the requirement to create an empty secret before the upgrade.

This change is

@aanm verified that this is not required


Retaining pitch/yaw across scenes

Hi, we're thinking of adding a feature that maintains the direction as to which the user is looking at whenever they switch to a different scene. Theoretically every time a user clicks on a hotspot, it saves the current pitch/yaw and uses it as a targetPitch/targetYaw for the next scene. Is it possible?

See #229.


GammaGL implement of GRADE

Description

Checklist
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [$CATEGORY] (such as [NN], [Model], [Doc], [Feature]])
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage
[ ] Code is well-documented
[ ] To the best of my knowledge, examples are either not affected by this change,
or have been fixed to be compatible with this change
[ ] Related issue is referred in this PR

Changes

现在的问题就是指标对不上，F1MA比原来的高不少，Mean又低不少。但是因为dgl和gammagl数据集加载进来后节点顺序不同，导致测试集的划分不同，这对后面性能评估影响还挺大（试过如果用random shuffle的方法来划分测试集，影响很大）。所以我也不清楚这个结果是我代码出的问题还是数据集自己的问题。


Support for Google Analytics debugging

It would be nice if the debug versions of the Google Analytics code can be enabled with a setting.
Details:

analytics_debug.js (not supported by django-analytical yet, but see #108)
ga_debug.js (legacy)

Feel free to contribute the necessary changes! :+1:


(maint) Skip yum package test on ec2

The guid package used by the yum package test is not present in the
repos on targeted Amazon Linux instances in EC2. Therefore, this
test should be skipped when being tested in that environment.

👍
@branan @McdonaldSeanp is it ok to merge to 4.10.x now?

CLA signed by all contributors.


Split function suddenly stopped working

I use Grav for my company's website, and I implemented a two-column page based on solution  listed in general recipes. Today I noticed, that this page is no longer rendering correctly, even though I didn't change anything.
The content of the page looks like this:
### **How to Contact My Company** {.text-center}
###### **My Company** consists of two subcompanies:

---

Stuff about Subcompany #1

- Subcompany #1 bullet one
- Subcompany #1 bullet two

---

Stuff about Subcompany #2

- Subcompany #2 bullet one
- Subcompany #2 bullet two

The template for this page is:
{% extends 'partials/base.html.twig' %}

{% block content %}
    {% set columns = page.content|split('
') %}
    {{ columns[0] }}

            {{ columns[1] }}

            {{ columns[2] }}

{% endblock %}

The page is rendered as  if the split function does nothing, so that all of the page content remains in columns[0], and then two empty divs rendered below it.
Was a recent change to Grav that caused this split function to stop working? Is there some kind of workaround to get it render as two columns without using the split function?

It appears the reason the split wasn't doing anything is that the markdown --- is now rendered in HTML as
 rather than
. Is there a way to make the split work for any valid HR tag?

Is there a way to make the split work for any valid HR tag?

I'm afraid not. Filter |split is provided by Twig and according to the Twig docs, only a string can be used as separator.
Also note:

Self-closing tags do not exist in HTML. The slash will be ignored by the parser.
Also, the slash can cause issues when preceded by unquoted attribute values.

I am ambivalent to using or not using the the slash in the
 tag. I only included it because my template was based on the recipe for rendering content in columns. Since the rendering of the markdown --- has now been changed to
, I suggest that the recipe be updated to reflect this.

@shankar2k,
You said:

It appears the reason the split wasn't doing anything is that the markdown --- is now rendered in HTML as
 rather than
.

I took that remark for granted, but when testing --- in the latest version of Grav, it is still being parsed into
.
It does look like
 when inspecting the code in the browser's console, but when looking at the generated HTML source, it shows
.
I also tested your Markdown and Twig snippet and it works as expected.
I  noticed you are probably using Markdown Extra. Also using Markdown Extra it works as expected.
That you're not using filter |raw when outputting the columns is probably a typo.

I am using Grav v1.7.43, and have Markdown Extra enabled. In my template, changing '
' to '
' fixes the problem.  In my system I also have External Links v1.6.3, Shortcode Core v5.1.3, and Page Toc v3.2.2 installed, among many of the usual plugins. Could one of these be causing my Grav system to work differently?

Could one of these be causing my Grav system to work differently?

That could well be. They all have an effect on the generated HTML in some way. Try enabling/disabling them one by one and run $ bin/grav cache.

Solved. It turns out the Page Toc plugin causes --- to be rendered in HTML at
. Maybe I should raise an issue in that repository.

Maybe I should raise an issue in that repository.

Might be a good idea indeed.


system_health forcing temps to read as C

Home Assistant release with the issue:

0.87.0
Last working Home Assistant release (if known):
N\A
Operating environment (Hass.io/Docker/Windows/etc.):

Hass.io
Component/platform:

system_health:
Description of problem:
Adding system_health: to configuration.yaml forces temperature readings to start reporting in Celsius. Removing the value returns my readings to Fahrenheit
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
system_health:

sensor:
  - platform: mqtt
    name: "Well House Temp"
    state_topic: "tele/well_house/SENSOR"
    unit_of_measurement: "°F"
    value_template: '{{ value_json["AM2301"]["Temperature"] }}'

Traceback (if applicable):

Additional information:

Is that just your UI displayed in °C?
Could you please check if you have any error message in both backend and browser console?
There  is a websocket api command {'type': 'get_config', 'id': 5} will return your unit_system information back to browser.

#system_health:
returns
"temperature": "\u00b0F"
Logs seeming to be unique to this configuration
Received invalid command: system_health/info
system_health:
returns
"temperature": "\u00b0C"
Logs seeming to be unique to this configuration
/supervisor/options return code 500.

/supervisor/options return code 500 looks bad.

Sorry, this was a user error. I need to do some housekeeping in configuration.yaml...
This
homeassistant:
  unit_system: imperial
system_health:

Not this
homeassistant:
system_health:
  unit_system: imperial


Updated default seed version image to latest available OCP 4.15.0-rc.5

/wip
testing it now...

/lgtm
I've used several 4.15, and by default I'm using 4.15.0-ec.3, and no problems so far


Inconsistent error output when multiple PEP violations are present in pyproject.toml

I am running uv lock (0.4.9, linux/arm) on a uv init example project where I added:

authors = ["a"], which as I realized is wrong, but poetry does not complain
dependencies = ["ruff == 0.6.4"]

and uv lock works w/o errors:
[project]
name = "example"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.11"
authors = ["a"]
dependencies = ["ruff == 0.6.4"]

When I introduce a typo in the dependency specification (=~ instead of ~=):
[project]
name = "example"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.11"
authors = ["a"]
dependencies = ["ruff =~ 0.6.4"]

uv lock fails with
Using Python 3.11.9 interpreter at: /usr/local/bin/python3.11
error: Failed to build: `example @ file:///tmp/test-uv/example`
  Caused by: Build backend failed to determine extra requires with `build_wheel()` with exit status: 1
--- stdout:
configuration error: `project.authors[0]` must be object
GIVEN VALUE:
    "a"

OFFENDING RULE: 'type'

DEFINITION:
    {
        "$id": "#/definitions/author",
        "title": "Author or Maintainer",
        "$comment": "https://peps.python.org/pep-0621/#authors-maintainers",
        "type": "object",
        "additionalProperties": false,
        "properties": {
            "name": {
                "type": "string",
                "$$description": [
                    "MUST be a valid email name, i.e. whatever can be put as a name, before an",
                    "email, in :rfc:`822`."
                ]
            },
            "email": {
                "type": "string",
                "format": "idn-email",
                "description": "MUST be a valid email address"
            }
        }
    }

For more details about `format` see
https://validate-pyproject.readthedocs.io/en/latest/api/validate_pyproject.formats.html

--- stderr:
Traceback (most recent call last):
  File "<string>", line 14, in <module>
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/setuptools/build_meta.py", line 332, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=[])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/setuptools/build_meta.py", line 302, in _get_build_requires
    self.run_setup()
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/setuptools/build_meta.py", line 503, in run_setup
    super().run_setup(setup_script=setup_script)
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/setuptools/build_meta.py", line 318, in run_setup
    exec(code, locals())
  File "<string>", line 1, in <module>
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/setuptools/__init__.py", line 117, in setup
    return distutils.core.setup(**attrs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 158, in setup
    dist.parse_config_files()
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/_virtualenv.py", line 20, in parse_config_files
    result = old_parse_config_files(self, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/setuptools/dist.py", line 608, in parse_config_files
    pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py", line 71, in apply_configuration
    config = read_configuration(filepath, True, ignore_option_errors, dist)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py", line 139, in read_configuration
    validate(subset, filepath)
  File "/home/vscode/.cache/uv/builds-v0/.tmpg1sWZn/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py", line 60, in validate
    raise ValueError(f"{error}\n{summary}") from None
ValueError: invalid pyproject.toml config: `project.authors[0]`.
configuration error: `project.authors[0]` must be object
---

What I observe

complains about the authors field (which it accepted before)
does not mention the error I introduced with =~

What I expect

the =~ should be mentioned
the wrong type of authors should always or never be mentioned (maybe as a warning?)

What I suspect
When I fix/remove the authors entry, uv lock correctly fails, mentioning the faulty dependency spec. So the error output is generated only on the first encountered error? If that is true, why does it not fail, when only the authors field is faulty?

For what it's worth, that error isn't coming from uv. It's coming from setuptools which is attempting to build your project.


[OpenSpending] Homepage v0.1

When accessing the OpenSpending data portal, I want to come across an intuitive, good-looking, and useful home page, so that I can easily understand what the website is about and where to find what I'm looking for.
Sketch: https://app.excalidraw.com/l/9u8crB2ZmUo/1ZQrHonBKra
Acceptance

[x] Hero :white_check_mark: 2023-05-18 FIXED.  See https://openspending.portaljs.org/ and screenshots below
[x] Browse list of datasets white_check_mark: 2023-05-18 FIXED. Datasets are browsable.
[x] Search list white_check_mark: 2023-05-18 FIXED. Created a searchable datasets grid for this.
[x] Filter list by facets :white_check_mark: 2023-05-19 FIXED. Datasets are filterable by country and date range

Tasks

[x] Hero

[x] Bootstrap with the keynote template
[x] Draft content ✅2023-05-15 see below and now on site

It's our money!
By understanding how governments spend money in our name can we have a say
in how that money will affect our own lives. The journey starts here.
OpenSpending is a free, open and global platform to search, visualise and analyse
fiscal data in the public sphere.

[x] CTA "Search datasets"

[x] Search/browse

[x] Cards grid (3x2), see the sketch

[x] Filter by

[x] Country
[x] Fiscal year range

Notes
UX

[x] Which template could/should we reuse?

It's likely going to be just for the hero section
I think we need a template less focused on CTA/showcases and more focused on providing a summary about OpenSpending and what users are going to find in the site
Keynote has space for a good amount of text and also has a cool component for displaying stats like the original site had https://web.archive.org/web/20170516234601/https://openspending.org/ (this last point is not necessary :kiss:, but would be nice to have if simple to implement)
Or, same hero from Syntax
We could then reuse the Navbar from Flowershow

Outcomes

FIXED. See https://openspending.portaljs.org/ and screenshots added to the issue description.


Speed + memory profiling

[x] Check for slowdowns in different situations (including/especially tutorial scenarios)
[x] Check for memory usage
[ ] Check short birth space interval algorithm
[ ] Fix issues

@cliffckerr - any updates on the status of this?

I think we can probably close this :)


fix(services/dropbox): fix dropbox ci

fix: #4484
There are several issues that need to be fixed here, related ci: https://github.com/apache/opendal/actions/runs/8682043318/job/23805843756.
Error caused by Dropbox service not supporting:

test_copy_overwrite
test_copy_file_with_non_ascii_name
test_rename_overwrite
test_list_prefix
test_list_file_with_recursive

Should return an error when it does not exist:

test_copy_non_existing_source
test_rename_non_existing_source

Returned by list does not contact the complete path:

test_list_dir
test_list_dir_with_metakey
test_list_dir_with_metakey_complete
test_list_rich_dir
test_list_nested_dir
test_list_dir_with_recursive
test_list_dir_with_recursive_no_trailing_slash

List dir should only return dir/

test_list_empty_dir
test_list_dir_with_file_path

Is this still relevant? It seems no dropbox CI failures recently.

Is this still relevant? It seems no dropbox CI failures recently.

dropbox CI has been disabled.


ERROR: No matching distribution found for python-fasthtml

I just had to upgrade my pip with pip install --upgrade pip and then install in a virtual environment with python3.11


Issues in recent updates

It seems that a recent update messed up something in the pipeline. I installed the package a week ago using pip and it worked fine, installed it again on another machine yesterday and got this error when I was trying to use it. I noticed that there were some recent commits that may have caused it.
Traceback (most recent call last):
File "/usr/local/bin/theanolm", line 8, in
from theanolm.commands import *
ImportError: No module named 'theanolm.commands'

Indeed I made small changes to that file, but not in the line in question. Could you check that your PYTHONPATH is set and that the theanolm/commands directory is installed somewhere along that path. I'll check if installing from pip still works.

I just tried installing with pip3 install --home TheanoLM. The modules were installed to ~/.local/lib/python3.5/site-packages/theanolm. Running the script ~/.local/bin/theanolm worked even though I don't have that directory on my PYTHONPATH. By executing import sys; print(sys.path) in Python interpreter, I can see that the package directory is included in the installation-dependent default paths. Since you have a working installation, you could compare in which directory the modules get installed and what you have in sys.path in those two computers.

Thanks for the followup, it works fine, it was just a path issue.
I also have another question please, and thought might not be worthy to open anther Issue thread for. What is the expected format for the lattice decoding input? and how to generate the lattice structure? I am NOT working in ASR, I am modeling the various lemma options for lemma space, so I have the lemma options for each word in a file, and need to decode accordingly (generating nbest lists is vastly unfeasible), so I will need to generate the lattice structure myself.

The lattice has to be in SLF format. You can find an exact definition and an example here.


Error when deleting empty file in GridFS.

An error is thrown when calling bucket.delete(file_id) when file_id points to an empty file.

I think It's because the if ... throw here.
async delete(id: FileId) {
    await this.#filesCollection.deleteOne({ _id: id });
    const response = await this.#chunksCollection.deleteMany({ files_id: id });
    if (!response) {
      throw new MongoRuntimeError(`File not found for id ${id}`);
    }
}

chunksCollection.deleteMany is supposed to return number of deleted chunks. It's ok to have 0 chunks if the file is empty.
Maybe this if should be removed.

Turns out that the official mongo driver for node.js does this too.
Maybe this is a feature 😅. Weird it's not mentioned in any docs.
I'm closing this. Hope this issue can be some guidance for people deleting empry files.


SMTP

For Pingvin Share, the email notification only seems to work with GMail's SMTP service. Would it be possible to get compatibility with SendGrid. Currently you request the smtp host, smtp email, smtp password, and smtp port. For SendGrid to work, there also needs to be a spot for the smtp username, which can be different than the smtp email.

Added to the new release v0.3.3 :) Feel free to reopen the issue if something doesn't work.

Thanks for the super fast turnaround!! I set up the SendGrid SMTP service, and it works great. Though after making this change, I created a new share with email recipients, and the link that was included in the email didn't work. When I clicked on the link, it said:
"Not found
This share can't be found. Please check the link."

Could you try it again? Maybe the share has expired. If it doesn't work could you share how the link looks like?

Below is the link to the share that I made with an email recipient (I removed my Domain name/TLD with Xs):
https://ping.XXXX.XXX/share/QyMjk0N
Below is the message that I received via email (I removed my Domain name/TLD with Xs):
Hey!
gabeanelson shared some files with you. View or dowload the files with this link: http://url6296.XXXX.XXX/ls/click?upn=NmzolZjweMivK9EztefjncLaSsiZ6nDxKFVEMpn6ozl6-2F5Du-2BR9f-2FvpVPG9d3l8F1WL0KULJ5COMtsbwzWpdzA-3D-3DsYhS_JGSDFTwtOzx5MSExQgcsvEfD2vl70aEF8w0-2FWOn8I6rObNqmp2tehhR7VI7Bw9Ie0Ws3R5SnMQkIlIbr-2BRBx28f5bPhx2KglOLGDsYqIFRk8D7Anhfo-2F1Edqjl2h4p9SBNxF4kkvhM7IVRmN143JKscykUs-2Ba6MdA-2FZ9WKn-2F6I3e5a7TGAButn0xwNkC6nCxOF3LIyoxelg7nEDwo5U8Kw-3D-3D
Shared securely with Pingvin Share 🐧
As you can see, it changes the Subdomain from https://ping to http://url6296.
That said, I also went back and changed the STMP settings back to GMail, and after going back to the GMail STMP settings, the link I received via email was the same as the one shown when I initially created the share and it worked great.

Probaly Send Grid changes the url because in the code the url has the following pattern: http://APP_URL/share/SHARE_ID.
I would google a bit about this issue because if it works with Gmail but not with Sendgrid it can't be an issue with Pingvin Share.

Also trying to use with my Gmail account which uses 2FA.  I have the app key generated as the password, but goes nowhere.

Also trying to use with my Gmail account which uses 2FA.  I have the app key generated as the password, but goes nowhere.

Do you get an error or does the share get created successfully? Also did you checked the spam folder?

Also trying to use with my Gmail account which uses 2FA.  I have the app key generated as the password, but goes nowhere.

Do you get an error or does the share get created successfully? Also did you checked the spam folder?

No error codes, share was created fine, and did not appear in the spam folder.  Tried sending to other email accounts which did not work either.

Do you see anything in the logs? You can see the logs with docker compose logs pingvin-share

@scubeedu2, in the configuration section, did you add your GMail address as the SMTP_USERNAME also?

Yes, all filled in and on port 465.

Do you see anything in the logs? You can see the logs with docker compose logs pingvin-share

I'm running this as a stack in Portainer, and the log for this shows no errors at all.

Can you confirm that sending emails works on this website: https://www.smtper.net

Yes, this works, however I did have to change to port 587 with SSL option selected.  I updated my Pingvin config to port 587 but it still does not work.  There is no option to select SSL option if that matters?

Maybe SSL is the issue. On the website I've sent you, does sending emails work on port 587 when SSL is disabled?

Maybe SSL is the issue. On the website I've sent you, does sending emails work on port 587 when SSL is disabled?

No it doesn't.  Here is the message given on smtper.net with SSL disabled:
SMTP send error
The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Must issue a STARTTLS command first.

I added the config variable SMTP_SSL, could your try again with the development image of Pingvin Share stonith404/pingvin-share:development and please let me know if it works.

I added the config variable SMTP_SSL, could your try again with the development image of Pingvin Share stonith404/pingvin-share:development and please let me know if it works.

No, sorry it still does not work.  I also tried it with FF and it did not work in that browser either.  Here's a pic of my config just FYI.

Strange... Under the hood pingvin share uses nodemailer. If you have node installed, could you try to run this script and see if it works?
const nodemailer = require("nodemailer");

// async..await is not allowed in global scope, must use a wrapper
async function main() {

  // create reusable transporter object using the default SMTP transport
  let transporter = nodemailer.createTransport({
    host: "smtp.gmail.com",
    port: 587,
    secure: false, // use ssl?
    auth: {
      user<EMAIL_ADDRESS>      pass: "your password",
    },
  });

  // send mail with defined transport object
  let info = await transporter.sendMail({
    from<EMAIL_ADDRESS>// sender address
    to<EMAIL_ADDRESS>// list of receivers
    subject: "Hello ✔", // Subject line
    text: "Hello world?", // plain text body
    html: "<b>Hello world?</b>", // html body
  });

  console.log("Message sent: %s", info.messageId);
  // Message sent<EMAIL_ADDRESS>}

main().catch(console.error);

Example is taken from the official nodemailer site: https://nodemailer.com/about/#example

I've just tested it with gmail smtp and it works for me. Sorry but I can't help you here further, because it really can't be an issue on Pingvin Shares side. I would try another recipient email or check your spam.
It worked for me with this config:

I've just tested it with gmail smtp and it works for me. Sorry but I can't help you here further, because it really can't be an issue on Pingvin Shares side. I would try another recipient email or check your spam. It worked for me with this config:

Are you also using 2FA with your gmail account which requires that you use an app password?

Yes exactly. I also noticed, that it doesn't matter if you use the port 465 or 587. But the email must be sent by Pingvin Share because if anything goes wrong, Pingvin Share will show an error that says your share couldn't be created...

I've just tested it with gmail smtp and it works for me. Sorry but I can't help you here further, because it really can't be an issue on Pingvin Shares side. I would try another recipient email or check your spam. It worked for me with this config:

Are you also using 2FA with your gmail account which requires that you use an app password?

Normally I think you're supposed to leave out @gmail.com for the SMTP username. Worth a try anyway.

Hi,
I can confirm that sending emails does not work for me as well.
I tried 2 different email accounts (no Gmail) that I normally use for other services and they work 100%. No 2FA used.
465, 25, and 587 ports were tried but with the same error.
I tried a Gmail account too as 3rd option but it does not work too.
My docker was created via Portainer -> Stack.
Docker image version from 2022-12-30 14:46:52
I am sending a log export from docker.
It seems to me that Pingvin cannot use 465 port.
_pingvin-pingvin-share-1_logs.txt
Waiting for your reply.

@vawaver Can you share the value of the smtp host you've entered?

@vawaver Can you share the value of the smtp host you've entered?

smtp.wy.sk
mail.krajcikovci.sk
smtp.gmail.com

@vawaver I looked into it and I noticed that the the settings are only applied after a restart of the docker container. I just fixed it (11174656e425c4be60e4f7b1ea8463678e5c60d2) but as a work around, until I release the fix, you have to restart the docker container. Let me know if it works.

Hello,
I recreate the new container to the latest version but Pingvin did not start.
There is some issue with migration.
Check the logs - sending them as an attachment.
_pingvin-pingvin-share-1_logs.txt

@vawaver Yep I messed up something, please see this #73 (comment) to fix the issue.

Hello,
I use your suggestion but I like to add something to your tutorial.
Let me share it.

Remove pingvin docker container - just stopping does not help
Install Sqlite first, with apt: sudo apt install sqlite
Cd into the root directory of Pingvin Share

sudo sqlite3 data/pingvin-share.db "DELETE FROM _prisma_migrations WHERE migration_name = '20230104145733_v0_5_1'; drop table new_RefreshToken;"
docker compose pull or Portainer users can redeploy Pingvin Stack
docker compose up -d

I set up an Email block with my SMTP settings (port 465) and now it works. No need to restart Pingvin docker.

@vawaver Nice! docker compose down should delete the container, what did you make to remove the docker container?

@vawaver Nice! docker compose down should delete the container, what did you make to remove the docker container?

I am lazy so I use Portainer. It is easy to remove it.  2-clicks and done.
Advanced users can use the docker commands.
docker ps
docker stop pingvin-containerID
docker rm pingvin-containerID

@vawaver Ah ok docker compose down removes the containers too, so it should work. So you don't have any issues anymore with SMTP? If yes I'll close this issue because it contains a lot off topic comments.

@stonith404  you can close it. Everything works.