AudioFrameReady not called

I would like to get the remote audio bytes, so to try that quickly, I've updated TestReceiveAV example to work with 2.0 code, but I'm finding that while AudioTrackedAdded is called, AudioFrameReady is not. This is with the latest code on master. Otherwise the example works as intended and I can hear audio from the application (the browser which provides the remote source on the same machine per the example is muted). RemoteAudioTrack.OnFrameReady is not called.
If I roll back to TestReceiveAV that is in the repo (which relies on the 1.0 nuget still), I find that the older equivalent RemoteAudioFrameReady callback is called. However this not really an option for me, as I need another audio device, which when enabled causes the adm() check to fail.

namespace TestReceiveAV
{
public class WebRtcSession : WebSocketBehavior
{
    public PeerConnection pc { get; private set; }

    public event Action<WebRtcSession, string> MessageReceived;

    public WebRtcSession()
    {
        pc = new PeerConnection();

        pc.VideoTrackAdded += (RemoteVideoTrack track) =>
        {
            track.Argb32VideoFrameReady += (Argb32VideoFrame frame) =>
            {
                var width = frame.width;
                var height = frame.height;
                var stride = frame.stride;
                var data = frame.data;

                System.Drawing.Bitmap bmpImage = new System.Drawing.Bitmap((int)width, (int)height, (int)stride, System.Drawing.Imaging.PixelFormat.Format32bppArgb, data);
            };
        };

        pc.AudioTrackAdded += (RemoteAudioTrack track) =>
        {
            // hit:
            track.AudioFrameReady += (AudioFrame frame) =>
            {
                var data = frame.audioData; // never hit
            };
        };
    }

    protected override void OnMessage(MessageEventArgs e)
    {
        MessageReceived(this, e.Data);
    }
}

class Program
{
    private const string WEBSOCKET_CERTIFICATE_PATH = "c:/temp/certs/localhost.pfx";
    private const int WEBSOCKET_PORT = 8081;

    static void Main()
    {
        try
        {
            // Start web socket server.
            Console.WriteLine("Starting web socket server...");
            var webSocketServer = new WebSocketServer(IPAddress.Any, WEBSOCKET_PORT, true);
            webSocketServer.SslConfiguration.ServerCertificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(WEBSOCKET_CERTIFICATE_PATH);
            webSocketServer.SslConfiguration.CheckCertificateRevocation = false;
            //webSocketServer.Log.Level = WebSocketSharp.LogLevel.Debug;
            webSocketServer.AddWebSocketService<WebRtcSession>("/", (session) =>
            {
                session.MessageReceived += MessageReceived;
            });
            webSocketServer.Start();

            Console.WriteLine($"Waiting for browser web socket connection to {webSocketServer.Address}:{webSocketServer.Port}...");

            ManualResetEvent mre = new ManualResetEvent(false);
            mre.WaitOne();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }

    private static async void MessageReceived(WebRtcSession session, string msg)
    {
        Console.WriteLine($"web socket recv: {msg.Length} bytes");

        JObject jsonMsg = JObject.Parse(msg);

        if ((string)jsonMsg["type"] == "ice")
        {
            Console.WriteLine($"Adding remote ICE candidate {msg}.");

            while (!session.pc.Initialized)
            {
                // This delay is needed due to an initialise bug in the Microsoft.MixedReality.WebRTC
                // nuget packages up to version 0.2.3. On master awaiting pc.InitializeAsync does end
                // up with the pc object being ready.
                Console.WriteLine("Sleeping for 1s while peer connection is initialising...");
                await Task.Delay(1000);
            }

            //session.pc.AddIceCandidate((string)jsonMsg["sdpMLineindex"], (int)jsonMsg["sdpMid"], (string)jsonMsg["candidate"]);
            IceCandidate ic = new IceCandidate()
            {
                SdpMid = (string)jsonMsg["sdpMid"],
                SdpMlineIndex = (int)jsonMsg["sdpMLineindex"],
                Content = (string)jsonMsg["candidate"]
            };
            session.pc.AddIceCandidate(ic);
        }
        else if ((string)jsonMsg["type"] == "sdp")
        {
            Console.WriteLine("Received remote peer SDP offer.");

            var config = new PeerConnectionConfiguration();

            session.pc.IceCandidateReadytoSend += (IceCandidate icecand) =>
            {
                Console.WriteLine($"Sending ice candidate: {icecand.Content}");
                JObject iceCandidate = new JObject {
                    { "type", "ice" },
                    { "candidate", icecand.Content },
                    { "sdpMLineindex", icecand.SdpMlineIndex },
                    { "sdpMid", icecand.SdpMid}
                };
                session.Context.WebSocket.Send(iceCandidate.ToString());
            };

            session.pc.IceStateChanged += (newState) =>
            {
                Console.WriteLine($"ice connection state changed to {newState}.");
            };

            session.pc.LocalSdpReadytoSend += (SdpMessage message) =>
            {
                Console.WriteLine($"SDP answer ready, sending to remote peer.");

                // Send our SDP answer to the remote peer.
                JObject sdpAnswer = new JObject {
                    { "type", "sdp" },
                    { "answer", message.Content }
                };
                session.Context.WebSocket.Send(sdpAnswer.ToString());
            };

            await session.pc.InitializeAsync(config).ContinueWith((t) =>
            {
                var sdpmsg = new SdpMessage()
                {
                    Type = SdpMessageType.Offer,
                    Content = (string)jsonMsg["offer"]
                };

                session.pc.SetRemoteDescriptionAsync(sdpmsg);

                if (!session.pc.CreateAnswer())
                {
                    Console.WriteLine("Failed to create peer connection answer, closing peer connection.");
                    session.pc.Close();
                    session.Context.WebSocket.Close();
                }
            });

            // Create a new form to display the video feed from the WebRTC peer.
            var form = new Form();
            form.AutoSize = true;
            form.BackgroundImageLayout = ImageLayout.Center;
            PictureBox picBox = null;

            form.HandleDestroyed += (object sender, EventArgs e) =>
            {
                Console.WriteLine("Form closed, closing peer connection.");
                session.pc.Close();
                session.Context.WebSocket.Close();
            };

            Application.EnableVisualStyles();
            Application.Run(form);
        }
    }
}

}

have you solved it yet ? I have the same issue.


Inconsistent formatting of Address return values

Here's two methods (actually one method and one property getter):
    public Address SenderAddress
    {
        get
        {
            return Message.Sender;
        }
    }

    public Address GetSenderAddress()
    {
        return Message.Sender;
    }

The first one (the property getter) works like I hope it would with a "properly" formatted Address value ("return" value):
{
  "internalTransfers": [],
  "gasConsumed": {
    "value": 10014
  },
  "revert": false,
  "errorMessage": null,
  "return": "CUtNvY1Jxpn4V4RD1tgphsUKpQdo4q5i54",
  "logs": []
}

The second one (an actual method) returns a hex string (the "returnValue" value):
{
    "transactionHash": "e2c161a08830f9ad2ce9fde6d5f14330e26040ed584ce2c39f47be0cbee5610e",
    "blockHash": "c895f54b774e901ae03d9f2a037b8934260bd0cee8e410dca60dc31cc1cfc1d4",
    "postState": "19aed953ff6f0200e21058c31ff10c30fea5d0cdf348a6d6ca32b6ddbb61c277",
    "gasUsed": 10014,
    "from": "CUtNvY1Jxpn4V4RD1tgphsUKpQdo4q5i54",
    "to": "CTE3W1QUpUKZUnaKa3ChcNKaGfbQaxUBDE",
    "newContractAddress": null,
    "success": true,
    "returnValue": "88432921B2B07617A42342597558CFA0BA429963",
    "bloom": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "error": null,
    "logs": []
}

Questions

Why are these different?
Is it a bug?
In the calling app, how I can I convert the bye[] representation of the hexstring ("88432921B2B07617A42342597558CFA0BA429963") into something that looks like an Address ("CUtNvY1Jxpn4V4RD1tgphsUKpQdo4q5i54")?

Using the Hackathon 2019 wallet and integrated node.

This can be considered bug which is fixed in latest versions.
I recommend you, clone repository locally and switch branch for  release/<IP_ADDRESS>  and run command in console dotnet run -devmode under Stratis.CirrusD folder.  You can see swagger url at the beginning of console logs.
You can also run latest Cirrus wallet while the process is running so in this way Cirrus wallet will use already running process.
Hope this helps, let me know if it is fixed your issue.

Btw this repository is for Strat and this is not maintained anymore. New repository is in here https://github.com/stratisproject/StratisFullNode


Need seconds

Hello,
I tested your clock picker and it's really great !
Is it possible to add seconds, same display than minutes ???
Thanks a lot !

Do you plan to add a second entry?


Add GitHub Codespaces and VS Code Remote Container support

Describe changes
I implemented  GitHub Codespaces and VS Code Remote Container support
Pre-requisites
Please ensure you have done the following:

[ ] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] I have based my new branch on develop and the open PR is targeting develop. If your branch wasn't based on develop read Contribution guide on rebasing branch to develop.
[ ] If my changes require changes to the dashboard, these changes are communicated/requested.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Other (add details above)

@coderabbitai review


Soft/hard checkpoint node available

Ready to participate according
http://web.archive.org/web/20150318183030/http://twister.net.co/?p=245
http://web.archive.org/web/20150318175101/http://twister.net.co/?p=410
@twisterarmy (the same twister username) running as public node with opened 6550/7550 ports 24/7 and could be used for verification needs.
Client version: <IP_ADDRESS> (Latest repository slice)

https://github.com/miguelfreitas/twister-core/pull/458


Introduce core.gardener.cloud/v1.ControllerDeployment API

How to categorize this PR?

/area dev-productivity usability
/kind enhancement
What this PR does / why we need it:
This PR introduces the new core.gardener.cloud/v1 API version including the ControllerDeployment resource.
The v1 API drops support for custom types and replaces providerConfig with a proper API structure for helm-based ControllerDeployments.
gardener-apiserver stores the ControllerDeployment resource in the v1 version but can perform lossless conversion from and to v1beta1.
The new API version is introduced to support further developments augmenting helm-based ControllerDeployments (e.g., OCI registry support instead of raw charts).
As we move away from the providerConfig approach, we need a new API version.
All other core.gardener.cloud resources are still only available in v1beta1. This PR lays the foundation for graduating other resources to v1 later on as well.
Which issue(s) this PR fixes:
Part of https://github.com/gardener/gardener/issues/9773
Special notes for your reviewer:
Co-Authored-By: @maboehm
Release note:

A new `core.gardener.cloud/v1` API version is introduced which only includes the `ControllerDeployment` resource for now. The new version of the `ControllerDeployment` drops the `type` and `providerConfig` fields in favor of a well-structured section for helm-based `ControllerDeployments`.

`ControllerDeployment` objects using a custom type (other than `helm`) are deprecated. Support for custom types will be removed when the `core.gardener.cloud/v1beta1` API version is dropped.

The `hack/generate-controller-registration.sh` script now generates a `ControllerDeployment` object in the `core.gardener.cloud/v1` API version.

/retest

/assign

Thanks, done. PTAL :)

PR needs rebase.

Done :)

I think we are good to go. Let's get this in, especially since it's a prerequisite for other features (cc @maboehm @kon-angelo @vknabel). Thanks for your efforts 🎉
/lgtm
/approve

/retest


Update changelog to 1.22.0

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Closing in favor of https://github.com/awslabs/smithy/pull/1290


docs: add Japanese README

I created Japanese translated README.

need  someone knows Japanese to help review

I have checked this PR. This translation is awesome. Thank you eltociear for your contribution :)

@eltociear is that possible to know which company you are at?

@KinglyWayne Thank you for your review!
@samchen8008 Yes it is ok! It will be Oshibloom and I-Tecnology.

Sounds great. Looking for the cooperation in the future. And we are looking for a partner to help with for Japan market. Hope you have a great experience in using our community edition and further more feedback from you. Happy weekend.


NTRs: anterior cell cortex and posterior cell cortex

Hi,
I'm working on a model for polarity establishment in the early C. elegans embryo and it would be very helpful to have CC terms for anterior and posterior cell cortex to accurately convey the localization of different PAR proteins.
Here is suggested placement, term definitions, and references:
GO:0099738 cell cortex region
-is_a GO:new anterior cell cortex
-is_a GO:new posterior cell cortex
anterior cell cortex
Definition:  The region that lies just beneath the plasma membrane in the part of a cell that is closest to the anterior as defined by the developing, or existing, anterior/posterior axis.
posterior cell cortex
Definition:  The region that lies just beneath the plasma membrane in the part of a cell that is closest to the posterior as defined by the developing, or existing, anterior/posterior axis.
References: PMID:17981131
PMID:15666355
Thanks,
--Kimberly

[Term]
+id: GO:0061802
+name: anterior cell cortex
+namespace: cellular_component
+def: "The region that lies just beneath the plasma membrane in the part of a cell that is closest to the anterior as defined by the developing, or existing, anterior/posterior axis." [GOC:15666355, GOC:17981131, GOC:dph, GOC:kmv]
+is_a: GO:0005938 ! cell cortex
+created_by: dph
+creation_date: 2016-11-06T22:54:21Z
+
+[Term]
+id: GO:0061803
+name: posterior cell cortex
+namespace: cellular_component
+def: "The region that lies just beneath the plasma membrane in the part of a cell that is closest to the posterior as defined by the developing, or existing, anterior/posterior axis." [GOC:dph, GOC:kmv, PMID:15666355, PMID:17981131]
+is_a: GO:0005938 ! cell cortex
+created_by: dph
+creation_date: 2016-11-06T22:55:45Z


Fix various issues

This fixes a bunch of smaller issues which crept in recently.
the morale is that we definitely better unit tests soon...
Andreas Lauser<EMAIL_ADDRESS>on behalf of MBition GmbH.
Provider Information

@kayoub5: can you review and merge this? (I've added you as a maintainer to the repository...)

thanks for the review. I fixed the first two issues. For the third suggestion, I'm not too sure whether it is a good idea or not. (opinions welcome!)

update pushed...


bootstrapped metric #6

Opening on behalf of @e-asphyx  for @juliusv to review.

👍 besides comments, I like the refactorings.

@jevonearth Merging this despite outstanding comments because I need to build on top of it.


Returning real time annotations

I am new to RxPy. I want to return the real time annotaions values to the API. The real time annotaions happen to be in DiarizationPredictionAccumulator() class's on_next() method. However in the Inference() class's, __call__() method, it only returns  self.accumulator.get_prediction() which is the final result of the whole audio.
Is there a way to return the annotation in real time (and not at the end)?

Hi @ukemamaster,
There are indeed two ways to obtain the diarization prediction.
As you mention, if you wait for the stream to finish, the call to Inference.__call__() will return the entire annotation (provided that the audio source read() method is blocking, which needs to be fixed in a future version).
The way in which you receive prediction "pieces" in real time is through the RxPY stream, which Inference hides from you for convenience.
If you want to execute a piece of code whenever a new real-time prediction is available, you can register a hook function:
from diart import OnlineSpeakerDiarization
from diart.sources import MicrophoneAudioSource
from diart.inference import RealTimeInference
from diart.sinks import RTTMWriter

def use_real_time_prediction(prediction, waveform):
    # do something here
    pass

pipeline = OnlineSpeakerDiarization()
mic = MicrophoneAudioSource(pipeline.config.sample_rate)
inference = RealTimeInference(pipeline, mic, do_plot=True)

# the function will be called with each new prediction in real time
inference.attach_hooks(use_real_time_prediction)

total_prediction = inference()

This way the Inference class will take care of handling the RxPY side for you so that it calls use_real_time_prediction.
Hope this answers your question.

Thanks @juanmc2005 ,
Using this i can access the real time annotations inside use_real_time_prediction function but the problem is that i cannot return them in a gRPC response (which is the ultimate goal), since i am returning from the API after the total_prediction = inference() call, but the compiler stays here until the whole audio is done, and it keeps calling the use_real_time_prediction function. Any idea to acheive this?
Here is my gRPC server:
class SpeakerServicer(speakerdiarization_pb2_grpc.SpeakerServicer):
    def __init__(self,num_workers,host,port):
       self.host = host
       self.port = port
       if num_workers is None:
          self.num_workers = os.cpu_count()
       else:
          self.num_workers = num_workers
       self.display_values = False

    def SpeakerDiarization(self, request, context):
         self.request = next(request)
         _LOGGER_.info(f'grpc Request received')
         gc.collect()
         try:
           segmentation = SegmentationModel.from_pyannote("pyannote/segmentation", token)
           embedding = EmbeddingModel.from_pyannote("pyannote/embedding", token)
           config = PipelineConfig(segmentation=segmentation, embedding=embedding)
           pipeline = OnlineSpeakerDiarization(config)

           mic = grpcAudioSource(request, context, pipeline.config.sample_rate)
           inference = RealTimeInference(_LOGGER_, pipeline, mic, do_plot=False, display_values=False,  show_progress=False)
           inference.attach_observers(RTTMWriter(mic.uri, f"results/{mic.uri}.rttm"))

           def use_real_time_prediction(prediction):
               self.annotation = str(prediction[0])
               if self.display_values:
                  _LOGGER_.info(f'Result time stamps for uid [{self.request.uid}] : {self.annotation}')
               try:
                  self.response = gRPC_speaker.SpeakerDiarizationResponse(
                                  uid = self.request.uid,
                                  rttm = self.annotation
                                  )
               except Exception as e:
                  self.logger.error(f'Response for uid [{self.request.uid}] not returened because of: {e}')
                  self.response = gRPC_speaker.SpeakerDiarizationResponse(
                                  uid = self.request.uid
                                  )

           a = inference.attach_hooks(use_real_time_prediction)
           responses = inference()
           while context.is_active():
                   yield self.response
           gc.collect()
         except Exception as e:
           _LOGGER_.info(f'Something is wrong - {e}')

Ok so you need inference() to be non-blocking.
One thing you could try is to detach your server from the pipeline and make it asynchronous, similar to WebSocketAudioSource (which is both audio source and server).
At this point, you should have two separate loops: the server running in the background and the diarization pipeline on the main thread.
You should be able to get the same result with threads or with co-routines, but the important thing is that the server doesn't block the main thread.
Alternatively, you could try playing with RxPY schedulers to make the pipeline run in a separate thread.

Hi @juanmc2005
I have tried to run the pipeline in a separate thread (as you suggested) and the server (somehow) works (at least for 1 client at a time).
For multiple requests at the same time, the problem is how to differentiate the predictions? Because the hook function (you mentioned above) is called for every request. and the prediction generated is anonymouse. Can we do something like this:
def use_real_time_prediction(prediction, waveform, unique_request_id):
    response[unique_request_id] = prediction

In othe words how to put any other information in the hook function arguments?

@juanmc2005 I have managed to associate the response with its corresponding request id using queue.Queue() like this:
response_queue = queue.Queue()
def get_prediction(prediction):
    response_queue.put(str(prediction[0]))

while context.is_active():
      response = response_queue.get()
      yield response

Another question: How to retrieve the images (resulting from annotations) from the inference() class to the hook function use_real_time_prediction() or another hook function?

Keep in mind that the diarization system is stateful (aggregation buffer + speaker centroids), so you need to have a separate pipeline for each client (all the more reason to make them run in separate threads).

The images are built with pyannote.core.notebook.plot_annotation(annotation), you don't need Inference for this. If your goal is to inspect predictions I recommend setting do_plot=True, but yes you can absolutely plot inside the hook (beware not to block the thread though).

I am doing it this way:
def get_pipeline():
    segmentation = SegmentationModel.from_pyannote("pyannote/segmentation", token)
    embedding = EmbeddingModel.from_pyannote("pyannote/embedding", token)
    config = PipelineConfig(segmentation=segmentation, embedding=embedding)
    pipeline = OnlineSpeakerDiarization(config)
    return pipeline

for c in clients:
    pipeline = get_pipeline()
    mic = grpcAudioSource(_LOGGER_, request, context, pipeline.config.sample_rate)
    inference = RealTimeInference(_LOGGER_, pipeline, mic)
    c_predictions = inference()

For every client i am geting a new pipeline with get_pipeline() , is that OK?

Looks good to me, just remember to run each pipeline in a background thread so you don't block the other clients.

Yes. For every client the get_inference() fuction is run in a separate thread in the background. Works correctly.
def get_pipeline():
    segmentation = SegmentationModel.from_pyannote("pyannote/segmentation", token)
    embedding = EmbeddingModel.from_pyannote("pyannote/embedding", token)
    config = PipelineConfig(segmentation=segmentation, embedding=embedding)
    pipeline = OnlineSpeakerDiarization(config)
    return pipeline

def get_inference():
    pipeline = get_pipeline()
    mic = grpcAudioSource(_LOGGER_, request, context, pipeline.config.sample_rate)
    inference = RealTimeInference(_LOGGER_, pipeline, mic)
    predictions = inference()

for c in clients:
    inference_thread = Thread(target=get_inference)
    inference_thread.daemon = True
    inference_thread.start()

Glad to hear it's working ! I'm closing the issue now since it's solved. Feel free to reopen if needed.

@juanmc2005 One question: Only the pipeline is stateful? or the models also are stateful?
In other words, can we do like this:
#call the model instances only once
segmentation = SegmentationModel.from_pyannote("pyannote/segmentation", token)
embedding = EmbeddingModel.from_pyannote("pyannote/embedding", token)

#call the pipeline genaration for each client
def get_pipeline():
    config = PipelineConfig(segmentation=segmentation, embedding=embedding)
    pipeline = OnlineSpeakerDiarization(config)
    return pipeline

for c in clients:
    pipeline = get_pipeline()
    mic = grpcAudioSource(_LOGGER_, request, context, pipeline.config.sample_rate)
    inference = RealTimeInference(_LOGGER_, pipeline, mic)
    c_predictions = inference()

Yes the models are stateless so it would be even better to reuse them across threads.
If you have a GPU and many clients you could even optimize it further with a service that batches audio buffers for the model and then dispatches them to the respective pipelines.
It should be possible to implement it as a wrapper of SegmentationModel / EmbeddingModel.


Download table content with icons as CSV

Is your feature request related to a problem? Please describe
I was using default download feature in the wave tables. In my table it contains some icons which I need to display in downloaded CSV file as it is. But it shows some other characters in cells where those icons placed.
Table UI:

Expected cell in downloaded CSV:

Currently receiving output:

Describe the solution you'd like
Contain icons used in wave table cells as it is in the downloaded CSV file.
Describe alternatives you've considered
Use separate button to download CSV after including meaningful text instead of icons. But this not includes icons as it is. Just replacing icons with meaningful names.
Additional context
Discussion is in https://github.com/h2oai/wave/discussions/1624
cc: @mturoci

Implementation notes: table download function creates blob that doesn't keep unicode chars and needs to be rewritten as described here.

Hi, can I take up this issue?

Hi @InfasMohammed. Sure, it's yours.

i have this issue

Please follow the dev setup instructions in contribution guidelines. Once done, run the table.py example as it's relevant to this issue.
Note that your 4 days have already passed though which means this issue is again up for grabs for anyone interested. You may continue to work on it on your own if you want though.

I will continue

Is this issue still up for grabs ? I have the wave server running

Yes, go for it @JacksonIsaac!

I tried the changes, and tested by changing the examples/table files to have a unicode object. It works, but I would like to reproduce the same above scenario.
Any ideas on how I can reproduce the above please ?

You need to create a table with '❌' and '✅' as described here.

Figured it out, thanks :) I spent hours on this, just to realize I myself had a bug in my example unicode :D


ddl: move the code out of syncer

What problem does this PR solve?

Issue Number: ref #4287
What is changed and how it works?

move handleQueryEvent out of syncer

Check List
Tests

Original test

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

Codecov Report

Merging #6338 (0ad4105) into master (bcb773a) will increase coverage by 0.3374%.
The diff coverage is 57.3232%.

Flag
Coverage Δ

cdc
66.0787% <71.1864%> (+0.2048%)
:arrow_up:

dm
51.9504% <39.8512%> (+0.0776%)
:arrow_up:

engine
64.7289% <78.6764%> (+1.6320%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #6338        +/-   ##
================================================
+ Coverage   59.0443%   59.3817%   +0.3374%
================================================
  Files           736        751        +15
  Lines         85346      85826       +480
================================================
+ Hits          50392      50965       +573
+ Misses        30483      30362       -121
- Partials       4471       4499        +28

cc @lance6716

/merge

/run-all-tests

/run-all-tests


Showcase: Item disappears during scrolling when perpage is equal to number of available items.

Can be reproduced in featured content blocks.

Initial state.

After moving to the right.

It's a well known issue in Flickity: https://github.com/metafizzy/flickity/issues/95


Focus Trap Conflicts

Describe the bug
When programmatically opening a dialog from a dropdown menu, there is a race condition where the first focusable item in the Dialog's tabindex is set to -1 and it is never restored.
Reproduction
SOON
Logs
No response
System Info
System:
    OS: macOS 14.2
    CPU: (12) arm64 Apple M2 Max
    Memory: 24.14 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.17.0 - ~/.nvm/versions/node/v18.17.0/bin/node
    npm: 9.6.7 - ~/.nvm/versions/node/v18.17.0/bin/npm
    pnpm: 8.14.1 - ~/Library/pnpm/pnpm
    bun: 1.0.25 - ~/.bun/bin/bun
  Browsers:
    Edge: 122.0.2365.63
    Safari: 17.2
  npmPackages:
    @sveltejs/kit: ^2.0.0 => 2.5.0
    svelte: ^4.2.9 => 4.2.9

Severity
annoyance

This will likely be solved by handling navigation in the same manner as the Listbox (cc: @TGlide)

Related: #807


fix: make GET /containers/json return an array in swagger.yml

Signed-off-by: Allen Sun<EMAIL_ADDRESS>1.Describe what this PR did
This PR fixes API GET /containers/json in swagger.yml, since this API returns an array from pouch daemon.
2.Does this pull request fix one issue?
NONE
3.Describe how you did it
NONE
4.Describe how to verify it
NONE
5.Special notes for reviews
NONE

LGTM


WebGL throws errors when Brave is aggressively blocking fingerprinting

Hi.
Brave appears to not work with WebGL when it is set to "Aggressively block fingerprinting", causing the WebGL fingerprint to be set to "unsupported" even though WebGL is supported in Brave.
Error: Vertex shader compilation failed: null     at webgl.ts:73:17     at webgl.ts:25:71     at Function.from (<anonymous>)     at webgl.ts:25:43     at tslib.es6.js:147:23     at Object.next (tslib.es6.js:128:53)     at tslib.es6.js:121:71     at new Promise (<anonymous>)     at n (tslib.es6.js:117:12)     at webgl.ts:17:1
This seems to be because Brave returns null for gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS). I'm not sure if this is something that can be addressed or not, but you can at least detect if Brave is in strict mode similar to how CreepJS does it.
Thanks!

I'm confident something can be done about this. Thanks for bringing this to my attention.
I'll look into this soon.

Looks like the new version doesn't have that problem.

@Joe12387 please re-open if the error is still there.


Make the footer more consistent with the website UX

Is your feature request related to a problem? Please describe.
The current footer stands out a lot from the rest of the website, if this is something the moderators would want changed, I'd love to work on it.
Describe the solution you'd like
Changing the background colour of the footer and the text colour to a colour that blends in more with the rest of the color scheme.

Sure! It would also be nice to put social links to discord, to the repository, to Instagram and LinkedIn:
https://www.instagram.com/octobear.hub/
https://www.linkedin.com/company/octobear/


[Design Tokens] Colors: Create foreground tokens for feedback

The Flagship team has a need for feedback-related foreground tokens.
To dos

[ ] Determine which feedback-related tokens are needed (info, success, warning, error) and what their color value will be

[ ] should foreground-error be feedback-foreground-error?

[ ] Add tokens to Tokens Package
[ ] Add tokens to Storybook in Components Package
[ ] Add tokens to Figma

Combined with #419


ASGI APIs

Overview
ASGI stands for Asynchronous Server Gateway Interface. ASGI is a community driven Python specification (it is not officially accepted by the Python language standards) for standardizing interfaces for asyncio based network applications.
Motivation:
There is an emerging movement of customers transitioning onto asyncio based web application frameworks. Many of these frameworks implement the ASGI standard. Right now they don't have visibility into their transaction data.
By frameworks / servers implementing the ASGI standard, customers can choose network servers independently of frameworks (servers and frameworks are now pluggable).
Some examples of frameworks that utilize ASGI:
FastAPI
Django Channels
Starlette
Quart
Responder
Sanic
Servers implementing the ASGI specification:
uvicorn
hypercorn
daphne
Acceptance Criteria:
Deliver asgi_application APIs (context manager, decorator, wrapper interfaces) that can wrap a standard ASGI interface to extract web transaction data and start/end the transaction
ASGI version 1 and version 2 should be automatically supported via the same API
web sockets do not create transactions, since this can cause memory explosion for long-running transactions
long lived http/2 connections do not create transactions
Risks:
The ASGI specification is not yet accepted (or even submitted as an official proposal) by the official language. As such, the specification may change rapidly / in a way that breaks our APIs. This can introduce a maintenance burden on our team if we provide public APIs that break due to specification changes.

Closed via https://github.com/newrelic/newrelic-python-agent/releases/tag/v<IP_ADDRESS>


update IHM College

The college of Kuala Lumpur, Malaysia.

@cpdtzy Pull request merged. Thank you!


Issue #409: updated minishift install instructions for the launcher. …

…Resolves #409

merged: 2266d274c34acbe2236b0eb33b9b69b19e416c0a


Flaky test: CanStopAndStartConnection

http://aspnetci/viewLog.html?buildId=419576&buildTypeId=Lite_UniverseTest
System.Net.Http.HttpRequestException : An error occurred while sending the request.
---- System.Net.WebException : The server committed a protocol violation. Section=ResponseStatusLine
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Net.Http.HttpClient.<FinishSendAsyncBuffered>d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Sockets.Client.LongPollingTransport.<Poll>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at System.IO.Pipelines.Pipe.DefaultPipeReader.GetResult(Int16 token)
   at Microsoft.AspNetCore.Sockets.Client.HttpConnection.<ReceiveAsync>d__54.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.SignalR.Client.HubConnection.<InvokeAsyncCore>d__36.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.SignalR.Client.HubConnection.<InvokeAsync>d__35.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.SignalR.Client.HubConnectionExtensions.<InvokeAsync>d__34`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Threading.Tasks.TaskExtensions.<OrTimeout>d__4`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.SignalR.Client.FunctionalTests.HubConnectionTests.<CanStopAndStartConnection>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.SignalR.Client.FunctionalTests.HubConnectionTests.<CanStopAndStartConnection>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
----- Inner Stack Trace -----
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)

So far I've only seen this once on our CI, but future occurrences will show up here.

The server committed a protocol violation. Section=ResponseStatusLine

Yikes, that looks strange. Maybe we should see if we can capture/log the actual HTTP traffic somehow...

Is this .NET Framework?

Wait until https://github.com/aspnet/SignalR/issues/1475 is complete

I'm going to start taking a look at this now. I don't expect to be able to repro it, but I'll see what I can get from running this in a tight loop. It looks like a random failure in some HTTP parsing which could be either Kestrel or HttpClient, or some network corruption, etc.


Two coding-persons on one server

Hello! When there are more than 1 person at server I have a problem with making code. The code runs for those person, who entered first on a server. (such commands as setTilePos and getTilePos) Even if the second pupil runs it. Is there any way to solve this problem?

You can use the entity functions to get the position of all the players. player.x will always return the host player.


Fix Windows compatibility and add option to set query driver

I made some changes to actually make this work for me on my Windows 11 machine, while cross-compiling using arm-none-eabi-g++.
For this I needed to:

Fix the file path handling, as the hardcoded transformations where not compatible with Windows.
Replace the os.wait() call, as this is not available on Windows.
Add a --query-driver option to pass a query-driver to clangd (so it can actually work with the cross-compiler).
Add a never option for fail-on-severity, so that I can integrate it in CI to collect warnings without failing the build.

After that it seems to run. I did stil see some other areas for improvement (e.g. if an exception is thrown, the program now hangs forever, as the subprocess is not killed). But I decided to not dive too deep into these now.
Hopefully someone else can verify if this still works as expected on *nix systems.

Thank you for your PR. I will take some time to review it when I have a chance.

I'm still having some issues on our CI environment that I'm trying to fix, so I may push additional changes.

I'll close this one for now and open up a new one once I have it running well on both our CI pipeline (Ubuntu based) and our Windows development machines.
In the mean time I've also added a formatter to generate code quality reports for GitLab CI, so I'll include that in the future MR as well.


Program stucks when the input image size is 224x224

Hello, when I use input size of 32, 64, 128, 256, the training works smoothly, however, when it comes to 224, the program stucks in load model phase.
How can I modify the architecture to prevent the problem?
Thanks in advance.

Almost certainly as 224 is not a power of 2, and hence some down/up sampling dimensions that are auto-calculated/set relative to the input size breaks somewhere.
Solutions - zero pad (all sides of image) or resize to 256 ...then train.

@tobybreckon Thanks for your explanation.


Content Card not working

First of all, thank you so much for you contribution to HA! This looks like a really cool integration, but no matter what I try, I cannot get the cards to work. I tried the following:

both installation methods (HACS store and manual cloning the git repo)
restarted HA multiple times
cleared the browser cache
different browsers
private browser windows

But once I try to add one of the two cards I get this error, that you already mention in you README.md

Maybe the cards need to be added to configuration.yaml? With other HACS features (e.g. the better thermostat UI card) I had to add the path to JavaScript files there like this:
lovelace:
  mode: yaml
  resources:
    - url<EMAIL_ADDRESS>      type: module
    - url: /local/vertical-stack-in-card.js?v=0.4.1
      type: module
    - url: /hacsfiles/simple-thermostat/simple-thermostat.js
      type: module
    - url: /local/mini-graph-card-bundle.js?v=0.11.0
      type: module
    - url: /hacsfiles/better-thermostat-ui-card/better-thermostat-ui-card.js
      type: module
    #- url: /hacsfiles/content-card-another-mvg-big/content-card-another-mvg-big.js
    #  type: module
    #- url: /hacsfiles/content-card-another-mvg/content-card-another-mvg.js
    #  type: module
    #- url: /config/custom_components/another_mvg/frontend/content-card-another-mvg.js
    #  type: module
    #- url: /config/custom_components/another_mvg/frontend/content-card-another-mvg-big.js
    #  type: module

I already tried the commented lines, but none worked for me. Any ideas what could be the problem?

Whats your version of Another MVG ?
Was Another MVG installed before the HACS version ? Like version 1.4 ?
Installing via HACS should be OK
Are there any entries for Another MVG in the HA Log ?
Settings --> System --> Logs
Only entries without the info "This is a known issue"
Any issues in the "Webinspector" ?
In Firefox press F12, after this change to the tab "Console", press F5 and check if there is someting related to another_mvg
Normally this is really a caching issue, but if you already tried 2 browser I assume there is an other issue.

What I also observerd in the past is that you have to logout and login sometimes. You can try this, maybe it helps.
I assume that you already created the sensor mittersendling before you tried to inserting the card.
How did you create the sensor (stop) ? Via GUI or via YAML ?
Go to the File Editor and navigate to
custom_components --> another_mvg --> frontend
and check if both cards are there

Try if you can access the file via your browser
YOUR HA IP:PORT/another_mvg/content-card-another-mvg.js
Yes this is different, because there is no frontend in the URL. You can only check this with your browser, because there is no file in this folder. HA is "translating" this somehow internal.


Not Detecting My Panasonic Viera (VT60)

Hello, I was able to install the package now, thank you, but when I test it out with the list-devices examples, I don't get any return, I own a Panasonic VT60 and I can send movies directly from my Youtube app to my TV. Can it be that I'm doing something wrong?
Thank You

No, the same, no return! I used the example Usage-Client!
Thank You

@soloam You might want to open a ticket on node-ssdp then, since that's what we use as our underlying library. Could be a network issue of some sort.

Hello @contra actually I was doing something wrong on the node-ssdp, now I can see my tv on the client example of the node-ssdp, but not on the nodecast
Got a response to an m-search: 200 {   "CACHE-CONTROL": "max-age=1800",   "EXT": "",   "LOCATION": "http://192.168.1.xx:55000/pac/ddd.xml",   "SERVER": "FreeBSD/8.0 UPnP/1.0 Panasonic-MIL-DLNA-SV/1.0",   "ST": "urn:panasonic-com:service:p00ProAVControlService:1",   "USN": "uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx::urn:panasonic-com:service:p00ProAVControlService:1" } {   "address": "192.168.1.xx",   "family": "IPv4",   "port": 20299,   "size": 316 }

That looks like something different from a normal DLNA server - it should be urn:dial-multiscreen-org:service:dial:1

yes I have this one also:

got a response to an m-search:
200
{
"CACHE-CONTROL": "max-age=1800",
"EXT": "",
"LOCATION": "http://192.168.1.xx:55000/nrc/ddd.xml",
"SERVER": "FreeBSD/8.0 UPnP/1.0 Panasonic-MIL-DLNA-SV/1.0",
"ST": "urn:dial-multiscreen-org:service:dial:1",
"USN": "uuid:xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx::urn:dial-multiscreen-org:service:dial:1"
}
{
"address": "192.168.1.xx",
"family": "IPv4",
"port": 54825,
"size": 294
}

I also have a kodi device running with TubeCast and it also works great with my youtube app on my mobile, but it's not detected in your library also.

Ok I found a possible idea for the problem if I run:
This does not work (probably the program is ending before it discovers the packages?)
`
#!/usr/bin/env node
var ssdp = require('node-ssdp').Client
, client = new ssdp({})
client.on('response', function inResponse(headers, code, rinfo) {
console.log('Got a response to an m-search:\n%d\n%s\n%s', code, JSON.stringify(headers, null, '  '), JSON.stringify(rinfo, null, '  '))
})
client.search('urn:dial-multiscreen-org:service:dial:1')
`
This one works
#!/usr/bin/env node

var ssdp = require('node-ssdp').Client
  , client = new ssdp({})

client.on('response', function inResponse(headers, code, rinfo) {
  console.log('Got a response to an m-search:\n%d\n%s\n%s', code, JSON.stringify(headers, null, '  '), JSON.stringify(rinfo, null, '  '))
})

setInterval(function() {
  client.search('urn:dial-multiscreen-org:service:dial:1')
}, 5000)

@soloam Yeah it seems like that is the issue after doing some testing, I commented on the ticket you opened on node-ssdp since the issue seems to lie the.
If they seem unresponsive I could add a workaround into this library.

Published a fixed version as 1.0.0 - if node-ssdp fixes their stuff I can remove the hack, but it should be fine.

Sorry @contra I tested it out and it seams that the find() is broken, I now can see my devices appearing, that works, but it stays in a infinite loop.

if I run:
#!/usr/bin/env node

var nodecast = require('nodecast');

var devices = nodecast.find();

devices.once('device', function(device) {
    console.log('Details for ', device.name)

    var yt = device.app('YouTube');

    yt.start('v=CNp6hpzAQIo', function(err) {
        console.log('Youtube for ', device.name)
    });
});

I get:
Details for  OSMC-Sala
Youtube for  OSMC-Sala

And never jumps to the next device
It keeps the program open and I have to cancel it with "CTRL+C"
If I run your list example:
!/usr/bin/env node

var nodecast = require('nodecast');

var stream = nodecast.find();

stream.on('device', function(device) {
        console.log('Found', device.name);//,  device.info);
  if (typeof device.apps === 'function') {
    device.apps(function(err, apps){
      console.log('Applications for', device.name, apps);
    });
  }
  if (typeof device.details === 'function') {
    device.details(function(err, details){
      console.log('Details for', device.name, details);
    });
  }
  if (typeof device.running === 'function') {
    device.running(function(err, app){
      console.log('Currently running app for', device.name, app);
    });
  }
});

I get
Found OSMC-Sala
Details for OSMC-Sala {}
Currently running app for OSMC-Sala undefined
Found VIERA VT60 Series

It keeps the program open and I have to cancel it with "CTRL+C"

@soloam Yeah, because it's an asynchronous networking interaction (we send out a blast, and we wait for responses to come in) there's no way to know that we have received all device responses so you have to call .end manually or press ctrl-c.
Listing apps is only supported for chromecast and roku, so you wouldn't see anything printed for that. Your output looks correct - it found your device and gave you a handle to it. Your first example should work fine.
I'm not having that issue on my devices, I just ran the same thing on my work network and got:
Found [TV] Room 2 (Horse)
Found Family Room TV
Found Flow TV Stand
Applications for Flow TV Stand [ { id: '31012',
    type: 'menu',
    version: '1.9.17',
    name: 'Movie Store and TV Store' },
  { id: '31863',
    type: 'menu',
    version: '1.3.5',
    name: 'Roku Home News' },
  { id: 'tvinput.hdmi1',
    type: 'tvin',
    version: '1.0.0',
    name: 'HDMI 1 (ARC)' },
  { id: 'tvinput.hdmi2',
    type: 'tvin',
    version: '1.0.0',
    name: 'HDMI 2' },
  { id: 'tvinput.hdmi3',
    type: 'tvin',
    version: '1.0.0',
    name: 'HDMI 3' },
  { id: 'tvinput.cvbs', type: 'tvin', version: '1.0.0', name: 'AV' },
  { id: 'tvinput.dtv',
    type: 'tvin',
    version: '1.0.0',
    name: 'Antenna TV' },
  { id: '45706',
    subtype: 'sdka',
    type: 'appl',
    version: '1.0.12',
    name: 'Roku TV Intro' },
  { id: '151908',
    subtype: 'rsga',
    type: 'appl',
    version: '1.5.9',
    name: 'The Roku Channel' } ]
Found Flow TV
Applications for Flow TV [ { id: '31012',
    type: 'menu',
    version: '1.9.25',
    name: 'Movie Store and TV Store' },
  { id: 'tvinput.hdmi1',
    type: 'tvin',
    version: '1.0.0',
    name: 'HDMI 1 (ARC)' },
  { id: 'tvinput.hdmi2',
    type: 'tvin',
    version: '1.0.0',
    name: 'HDMI 2' },
  { id: 'tvinput.hdmi3',
    type: 'tvin',
    version: '1.0.0',
    name: 'HDMI 3' },
  { id: 'tvinput.cvbs', type: 'tvin', version: '1.0.0', name: 'AV' },
  { id: 'tvinput.dtv',
    type: 'tvin',
    version: '1.0.0',
    name: 'Antenna TV' },
  { id: '12',
    subtype: 'ndka',
    type: 'appl',
    version: '4.2.90679030',
    name: 'Netflix' },
  { id: '13',
    subtype: 'ndka',
    type: 'appl',
    version: '10.2.2018080217',
    name: 'Amazon Prime Video' },
  { id: '2285',
    subtype: 'rsga',
    type: 'appl',
    version: '6.9.1',
    name: 'Hulu' },
  { id: '69091',
    subtype: 'rsga',
    type: 'appl',
    version: '3.0.10',
    name: '4K Spotlight' },
  { id: '13842',
    subtype: 'ndka',
    type: 'appl',
    version: '1.3.220786',
    name: 'VUDU' },
  { id: '50025',
    subtype: 'rsga',
    type: 'appl',
    version: '2.0.820',
    name: 'Google Play Movies' },
  { id: '2213',
    subtype: 'sdka',
    type: 'appl',
    version: '4.1.1602',
    name: 'Roku Media Player' },
  { id: '28',
    subtype: 'rsga',
    type: 'appl',
    version: '4.1.20171012',
    name: 'Pandora' },
  { id: '45706',
    subtype: 'sdka',
    type: 'appl',
    version: '1.0.16',
    name: 'Roku TV Intro' },
  { id: '46041',
    subtype: 'ndka',
    type: 'appl',
    version: '5.7.106',
    name: 'Sling TV' },
  { id: '8838',
    subtype: 'rsga',
    type: 'appl',
    version: '2.5.4',
    name: 'SHOWTIME' },
  { id: '61322',
    subtype: 'rsga',
    type: 'appl',
    version: '4.4.23',
    name: 'HBO NOW' },
  { id: '151908',
    subtype: 'rsga',
    type: 'appl',
    version: '1.5.9',
    name: 'The Roku Channel' },
  { id: '837',
    subtype: 'ndka',
    type: 'appl',
    version: '1.0.70500270',
    name: 'YouTube' } ]

Ah, I just noticed - your code is doing once instead of on so it will only listen for the first device, that's why it isn't working.

yeh that made it jump to the next device but the movie does not start
#!/usr/bin/env node

var nodecast = require('nodecast');

var devices = nodecast.find();

devices.on('device', function(device) {
    console.log('Details for ', device.name)

    var yt = device.app('YouTube');

    yt.start('v=UxWqEFHNOBM', function(err) {
        console.log('Youtube for ', device.name)

        // starts the app on the device
        // also optionally takes data to pass to the app
        // (for example: youtube takes v=id to launch with a video)
    });
});

shouldn't this start the youtube in both devices?
Sorry for all this
Thank you

@soloam Yeah that should work, assuming your TV has a youtube app and it accepts those parameters.

Yes it does... But the films don't start! I don't understand if I'm doing something wrong!

According to the developer of node-ssdp, it's working as intended, and we should use a settimeout ou setinterval to mantain the session open to capture the packages. Your version now keeps it open forever, I can't close it without a ctrl+c, because I stay locked inside the find function! A god solution would be to be able to inform the find function on the time that it should keep looking for the package, like a timeout time! This would avoid it being locked forever.
I don't know if this is the reason why I can't send videos to my devices, but being stuck in a infinit loop does not seems like a good thing.
Thank you @contra and hope I helped find a "problem"

@soloam find will always continue looking for devices, that's how it was intended to work. It doesn't just do one scan then end - it will always emit an event when a new device is discovered. If you change networks, new devices join, or whatever then they should pop up. If we made it only search once then stop it would break that.
It's the same thing as a node http server - you open it, you can either close it to let the process know you don't need it anymore or you can press ctrl-c.


Eliminate jpra dependency

It's really not necessary anymore. Get rid of it!

Redo the binary format using https://github.com/io7m/jbssio.

Done as of f627e71e90809053656099cbeaf7a59ffeec347a.


Fixes issue #51: Changed error message in case client ID is not provided

Associated Issue

Closes #51
Implemented Solution

I've added a new condition in case of error when anime list is not found due to invalid user to check if it's because the client ID has not been added and updated the error message for this scenario.

@all-contributors please add @Sakshi-75 for code


Update Razor.Design to noship

I'm having lotsa problems getting this package to flow through all of our packaging checks. I don't think we're going to ship this in it's current form, so I'm changing to noship as an unblocker

FYI only - merging this to unblock coherence signed


Multiple detail activities

Fyi, multiple detail activities are started when (accidentally) double clicking a grid item. I assume it happens because of the 200 ms ripple effect delay. When clicking back twice to get back to the grid, the item image turns white.

Yeah, that's true thanks. It's not a production ready app anyway, just a showcase, so not very worried about the details. But I'll fix it if I find some time.


Hide Highlighted Text Fields

Is your feature request related to a problem? Please describe.
Right now, the text fields for PDFs are always highlighted in blue.
Describe the solution you'd like
I’d like an option to hide the blue highlight text fields, like Adobe Reader can. I think it’s visually more pleasing and for character sheets generally not needed.

This is highly unlikely to make it into a future build because of the complexity it would add for very minor cosmetic improvements. Additionally, it replicates existing functionality. You can accomplish this now by writing a custom viewer theme if you want. You just need a tiny bit of CSS and JavaScript knowledge.

Understandable. I have basic knowledge of CSS, but I might need a pointer, as I haven’t seen where the color/transparency of the text fields is determined in the CSS at a quick glance. I was wondering if you could help me out with that. Thanks!

https://github.com/Djphoenix719/PDFoundry/blob/6e02ac394f0ad89a109f73f2d1bafd29d430ba6d/pdfjs/web/viewer.css#L113-L127
Pretty sure it's here but I'm not in front of a computer to validate.
See the documentation example for the required JavaScript to register the theme. Then just package it up with a module as described on the FoundryVTT site.

Thanks a lot! I’ll give it a try.

I'm going to close this but if you encounter issues feel free to reopen it or reach out on Discord.


Appender treating decimal column as bool?

Hi. I'm using version 0.9.2 of DuckDB.NET.Data.Full on an M1 Macbook Air. With a minimal Program.cs I am unable to build, as the appender thinks the column should be bool when it actually should be a decimal.
// Program.cs
using (var conn = new DuckDB.NET.Data.DuckDBConnection("Data Source=:memory:"))
{
    conn.Open();

    using var command = conn.CreateCommand();

    command.CommandText = "CREATE TABLE IF NOT EXISTS table_with_decimal (id INTEGER, val DECIMAL(18, 8));";
    command.ExecuteNonQuery();

    using (var appender = conn.CreateAppender("table_with_decimal"))
    {
        var n = 10;
        for (var i = 0; i < n; i++)
        {
            var row = appender.CreateRow();
            row.AppendValue(i).AppendValue(i * 0.1m);
            row.EndRow();
        }
    }

}

When I try to dotnet build, I get the following error:
(nix:nix-shell-env) Dillons-Air:duckdb_net_appender_decimal_bug mosiman$ dotnet build
MSBuild version 17.7.4+3ebbd7c49 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
/Users/mosiman/tmp/duckdb_net_appender_decimal_bug/Program.cs(16,44): error CS1503: Argument 1: cannot convert from 'decimal' to 'bool?' [/Users/mosiman/tmp/duckdb_net_appender_decimal_bug/duckdb_net_appender_decimal_bug.csproj]

Build FAILED.

/Users/mosiman/tmp/duckdb_net_appender_decimal_bug/Program.cs(16,44): error CS1503: Argument 1: cannot convert from 'decimal' to 'bool?' [/Users/mosiman/tmp/duckdb_net_appender_decimal_bug/duckdb_net_appender_decimal_bug.csproj]
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:00.85

Please let me know if any more information is needed to reproduce. Thanks for all your work on this library 🙌

You get that error because no AppendValue overload takes a decimal? There is no such method in the Appender Api

oh, I didn't actually look at the original appender API. just sort of assumed it would have a method for that but I guess it doesn't. thanks for clearing that up!

It can probably be implemented with duckdb_append_data_chunk but I haven't looked into it.


GitHub CoPilot Chat and GitHub CoPilot and 27 other Extensions disabled by default / on Install & see #179570

Type: Bug
This is a second bug report

I logged a similar one in April #179570
I can help with triage and diagnosis
HOWEVER I need a fix/resolution over triaging as VSCode is unusable.
I am on PyCharm
I can not use GitHUb CoPilot Chat (a MS/GitHub extension) etc as well as other Microsoft and random third parties.

Triage
Summary

In around mid April, my extensions or a subset there off became untrusted or resitricted by default. #179570:
I had both VSCode and VSCode insiders Installed, and settings sync.
Initially I thought it was a system level app trust issue based on a Win10 laptop.
However since, then I have changed devices to a new Windows 11, and a fresh install of VSCode.
The only commonality between two devices is the Settings Sync and extensions sync, via the cloud, for my account.

REQUEST/RESOLVE

Please delete and reset the settings sync on charliejfowler @ outlook (dot) com account for vscode.dev or whereever settings are managed/stored.
It is consented for destructive activities for content on that account bar login and security parameters and check the trust and other facets.

Replication

See #179570
I set up fresh VSCode insiders on a new Windows 11 machine, fresh OS boot/setup
Issue follows me across the cloud from old device to new device

All Trust settings are permissive.

You can do this by following https://code.visualstudio.com/docs/editor/settings-sync#_how-do-i-delete-my-data. BTW we do not sync trust related data as it is per machine/workspace scoped.
@lszomoru Based on the discussion in https://github.com/microsoft/vscode/issues/179570, it seems related to workspace trust.

I can prevent the transmission of the issue with settings sync off
However, once I have a new machine with untrusted extensions, how I resolve and fix “infected” (untrusted) setups... as per my current config.
Uninstall and reinstall ... however, past experience leans to this not resolving the issue. As evident that it travels across machines to virgin machines and affects a segment of extensions and not all...
NOTE I have not tried to fix or resolve any action. I just have turned off sync.
So if trust related data as it is per machine/workspace scoped, then how come this affected a previously unrelated machine (as it was immediate effect on setup)> hypothesis: it should not be true and all extensions should be trusted as expected.

I should have a better diagnostic mode to enquire and inspect workspace trust ... I can not locate or assist unless you have?

I removed much of anything linked to Caches in C:\Users\Charles\AppData\Roaming\Code - Insiders\User
I removed much of other extensions manually

This is now on default load and all settings/facets reinitialised without uninstalling.

This is the default DevTools Console

@iPoetDev, I have to admit that I am having hard time digesting this issue and what is that we are trying to get to the bottom of. Would it be possible to summarise the current state of your machine and maybe provide a recording (https://gifcap.dev) so that we can further investigate the issue.
The "workspace trust" state is being stored on the machine level and it is not being synched across machines. This state is also stored "per folder" as in you are trust one/more folders that contain the source code that is being opened in VS Code. In your screenshot above I see that you have three folders that are trusted but these seem to be folders related to the VS Code application, and not location of your source code.

I am having a hard time understanding too, so you are not alone. I cannot use VSCode with some its prime extensions.
Those folders (screenshot) are an experiment to trust untrusted extensions of VSCode. These can be ignored, except for informing you where my extensions are installed.
Clarifications
This my current PC a new machine, no prior activity from VSCode until 1st install (a virgin install). On 1st install, the extensions get mistrusted when synchronised and imported by account synchronisation. I do not manually install.
The old machine (since died) is the root machine where thee untrusting of extensions occured.
This has nothing (I think) to do with my code and its folder-ing (as I know you must set workplace trust for project/workspace).
It has everything to do with the machine's or application trust for extensions.. How does one issue travels from old machine to a new machine (aka like a virus: something transmissible/propagatable)?
I will follow up with a current state of the machine. However, please give me instructions on what to record else it may be noise and not signal that I record, please.
If that fails, I will consent to a video call and interactive session.

How do I get VSCode to trust extensions like GitHub Co-Pilot again?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!

After 10 Months, and excluded from VSCode, I think this issue is self healed or is no longer.
One clarification: Please clarify: These extensions only show up when in restricted mode? (the tag @workspaceUnsupported needs better clear english.)


There was an error: no workers.

i'm trying to run grist on my laptop to see what it looks like
i'm using an updated Arch Linux distribution and the last version of this repository
i ran the following commands, according to the README
yarn install
yarn run build:prod
yarn run install:python
yarn start

but then when i go to http://localhost:8484 and try to create and access a new document i get the error "There was an error: no workers." on the page.
i also set up some env variables that i believed might be needed, as follows:
export APP_DOC_URL=http://localhost:8484
export APP_HOME_URL=http://localhost:8484
export DEBUG=1
yarn start

i see in the DEBUG logs that there is this line
2022-02-21 00:04:33.908 - warn: fetch from http://localhost:8484/v/unknown/2oSPq3yt2rw7zsBygFUuXb/app.html failed convincingly, removing that worker

which seems to imply that the worker failed somehow? there's no other info about what happened
what am i missing?

Hmm, others have seen this kind of failure when using reverse proxies, for example https://github.com/gristlabs/grist-core/issues/142, but I don't see how that could be related to your case. Is there any way the server started by yarn start could be blocked from making a network connection to itself via http://localhost:8484 ? I'm at a bit of a loss. You could try using your local IP address in place of localhost?
(The fetch being made is actually unnecessary in the single-server case, sorry, we should streamline this so only people doing multi-server installations need to fuss.)

thx for your answer
i'm trying this now and it does not seem to work
export APP_DOC_URL="http://<IP_ADDRESS>:8484"
export APP_HOME_URL="http://<IP_ADDRESS>:8484"
export DEBUG=1
yarn start

i can't access grist, neither from http://localhost:8484 nor http://<IP_ADDRESS>:8484 😕
the logs:
yarn run v1.22.17
$ tsc --build -w --preserveWatchOutput & catw app/client/*.css app/client/*/*.css -o static/bundle.css -v & webpack --config buildtools/webpack.config.js --mode development --watch --hide-modules & NODE_PATH=_build:_build/stubs nodemon --delay 1 -w _build/app/server -w _build/app/common _build/stubs/app/server/server.js & wait
75542 bytes written to static/bundle.css
[nodemon] 2.0.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): _build/app/server/**/* _build/app/common/**/*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node _build/stubs/app/server/server.js`

11:04:39 AM - Starting compilation in watch mode...

11:04:39 AM - Found 0 errors. Watching for file changes.

webpack is watching the files…

Welcome to Grist.
2022-02-21 11:04:40.825 - info: == Grist version is 0.1.1 (commit unknown)
2022-02-21 11:04:40.829 - info: Loading empty config because /home/v/tmp/grist-core/config.json missing
2022-02-21 11:04:40.849 - warn: did not find an appropriately named example workspace in deployment
2022-02-21 11:04:40.850 - info: No plugins directory: ENOENT: no such file or directory, scandir '/home/v/tmp/grist-core/.grist/plugins'
2022-02-21 11:04:40.857 - info: Found 1 valid plugins on the system
2022-02-21 11:04:40.857 - debug: PLUGIN builtIn/core -- /home/v/tmp/grist-core/plugins/core
2022-02-21 11:04:40.861 - info: Server timeouts: keepAliveTimeout 305000 headersTimeout 306000
2022-02-21 11:04:40.867 - info: server(home,docs,static) available at localhost:8484
2022-02-21 11:04:40.885 - info: activity docCount=3, orgCount=0, orgInGoodStandingCount=0, userCount=5, userWithLoginCount=5
2022-02-21 11:04:40.888 - warn: Failed to create GoogleAuth endpoint: GOOGLE_CLIENT_SECRET is not defined
2022-02-21 11:04:40.892 - info: == appRoot: /home/v/tmp/grist-core
2022-02-21 11:04:40.892 - info: == docsRoot: /home/v/tmp/grist-core/docs
2022-02-21 11:04:40.892 - info: == defaultBaseDomain: .168.1.42
2022-02-21 11:04:40.892 - info: == pluginUrl: undefined
2022-02-21 11:04:40.892 - info: == instanceRoot: /home/v/tmp/grist-core
2022-02-21 11:04:40.892 - info: == tag: unknown
2022-02-21 11:04:40.892 - info: == database: sqlite:///home/v/tmp/grist-core/landing.db
2022-02-21 11:04:40.893 - info: == userRoot: /home/v/tmp/grist-core/.grist
2022-02-21 11:04:40.893 - info: == loginMiddlewareComment: no-logins
2022-02-21 11:04:40.893 - info: == s3: disabled
2022-02-21 11:04:40.893 - info: == docWorkerId: testDocWorkerId_8484
2022-02-21 11:04:47.056 - info: Server grist[2982] got signal SIGINT; cleaning up (2 handlers)
2022-02-21 11:04:47.056 - info: UploadSet: cleaning up all 0 uploads in set
2022-02-21 11:04:47.060 - info: FlexServer shutdown is complete
2022-02-21 11:04:47.061 - info: Server grist[2982] exiting on SIGINT

there seems to be an issue with the parsing of the IP address

@paulfitz any idea?

Hmm, in your log, I don't see any evidence of a connection ever reaching Grist. Try setting GRIST_HOST=<IP_ADDRESS> so that Grist will listen on any network interface. You could also nail things down a bit further by setting GRIST_SINGLE_ORG=docs.
When you say you can't access Grist, does that mean there's no sign of a connection at all, or some connection is made but there's a specific error?

Latest version of Grist should be much simpler to make a single-server deployment for. Just remove APP_DOC_URL and APP_HOME_URL and you should be good to go.


FLOW: error on haxelib.js:54

Despite multiple attempts at getting the latest flow from repo.
haxelib run flow run
flow / 1.0.0-alpha.2 (node.js v0.12.7)
flow / target is linux ( arch 64 )
flow / haxe version 3.4.2
/home/user/.haxelib/flow/git/src/flow/util/haxelib.js:54
throw new HaxelibError(reason);
^
HaxelibError: > haxelib config cannot be called. Is haxe/haxelib installed?

it seems it is having trouble finding haxelib in your PATH. You can try haxelib run flow run --log 3 to get more info on what it's doing.

Thanks for the quick response :)
haxelib run flow run --log 3
flow / 1.0.0-alpha.2 (node.js v0.12.7)
flow / current platform is linux
flow / target is linux ( arch 64 )
flow / process util - running : haxe -version
flow / haxe version 3.4.2
flow / process util - running : haxelib config
/home/user/.haxelib/flow/git/src/flow/util/haxelib.js:54
throw new HaxelibError(reason);
^
HaxelibError: > haxelib config cannot be called. Is haxe/haxelib installed?

i read somewhere it is because there is a static path for haxelib in haxelib.js but i could not find it right away

It's here I think you mean? The question is why can it see haxe command but not haxelib?

i'm not sure, from the CLI haxelib does not need any path, it is known.
I'm using ATOM and have set the static path for both haxe and haxelib to no avail

So it doesn't even work if you hardcode some path there (like /usr/local/lib/haxe/haxelib)? I'm not sure how atom would be messing with the path, hmm!

if you mean hardcode the path in haxelib.js ? I've set it to /usr/local/bin/haxelib to no avail

that is really strange, but it only fails when run via atom is what I was wondering?

depends on how one looks at it, if i run build in atom it fails with the same error as on the CLI, but it does fail stating haxelib cannot be found, hence it must be in the code

i'm not sure, from the CLI haxelib does not need any path, it is known.

I am trying to figure out what is happening that's all :)

When you run on CLI, you get an error as well?
When you run with a hardcoded path is also fails from CLI?

Anything fails when i run flow with some commands such as build, config, setup

AH! weird, when i navigate to the path of my code, then run haxelib run flow it requests
~/test $ haxelib run flow
Error: This is the first time you are runing haxelib. Please run haxelib setup first

aha, so it might just be that the message is consumed quietly somehow, causing the config command to fail, which is misinterpreted as not finding haxelib (i.e the error catch in flow is too broad)

I bet once you setup haxelib it should work again

well, eh, haxelib has been set-up already for the user folder
I assumed it needed be setup once and hence would work for all sub-folders, grmbl

it's a global setting I think? I've never needed to run haxelib setup repeatedly on the same machine?

haxelib setup shows a different path than the installed packages listed with haxelib list which are under ~/.haxelib/

the project.flow can be empty, right ?

no it requires a version and a name but it will tell you this. You can test against an empty snow sample perhaps?

fast stupid yet not so stupid approach would be to setup a new repo in my source dir, thus having all packages dedicated to this project

stuck ... even 'haxelib setup' does not work as expected, i just pressed enter, something broke i figure
haxelib setup
Please enter haxelib repository path with write access
Hit enter for default (/usr/lib/haxe/lib)
Path :
Error: [file_open,/home/user/.haxelib]
i need sleep, good night, will update if a fix emerges

ah, just found this thread which does appears related https://github.com/HaxeFoundation/haxelib/issues/161

Yawn, created a symlink to /home/user/.haxelib/ in /home/user/test/
~/test $ haxelib list
actuate: [1.8.7]
castle: [1.5.0]
dbadmin: [1.1.0]
filesystemhelper: [1.0.0]
flow: 0.0.0 [git]
haxe-nme-vfs: [0.0.1]
haxeui: [1.8.21]
hscript: [2.0.7]
hxbit: [1.1.0]
kha: [16.1.2]
lime-samples: [4.0.1]
lime-tools: [1.5.7]
lime: 2.9.1 4.0.2 [4.0.3]
logshim: [0.0.4]
mongomod: [1.0.4]
nme: [5.7.1]
openfl: 3.6.1 [4.9.2]
snow: [git]
tink_cli: [0.2.1]
tink_core: 1.9.1 [1.11.0]
tink_csss: [0.1.0]
tink_http: [0.7.0]
tink_http_fetch: [0.2.0]
tink_io: [0.5.0]
tink_json: [0.5.0]
tink_lang: [0.5.0]
tink_macro: 0.13.3 [0.13.4]
tink_parse: [0.2.0]
tink_priority: [0.1.3]
tink_pure: [0.3.0]
tink_querystring: [0.3.0]
tink_state: [0.4.2]
tink_streams: [0.2.1]
tink_stringly: [0.1.0]
tink_syntaxhub: [0.3.6]
tink_tcp: [0.1.1]
tink_template: [0.3.2]
tink_typecrawler: [0.5.0]
tink_url: 0.3.0 [0.3.1]
tink_validation: [0.2.0]
tink_web: [0.0.0-alpha.0]
tink_xml: [0.2.0]
~/test $ haxelib run flow build
haxelib run flow build
flow / 1.0.0-alpha.2 (node.js v0.12.7)
flow / target is linux ( arch 64 )
flow / build only
flow / haxe version 3.4.2
/home/user/.haxelib/flow/git/src/flow/util/haxelib.js:54
throw new HaxelibError(reason);
^
HaxelibError: > haxelib config cannot be called. Is haxe/haxelib installed?
It is a bug for sure, though unclear if it is in haxelib or in haxelib.js (though these are unrelated)

haxelib setup
Please enter haxelib repository path with write access
Hit enter for default (/usr/lib/haxe/lib)
Path : ./.haxelib
Error: Can't use /home/user/.haxelib because it is reserved for config file

It seems that it just doesn't like that path? Say if you had ./haxe/lib/ instead of the fixed config path

it's just bizar, and also something reported earlier on github for haxelib, i'll have a look tomorrow, thanks for the feedback. Stuff like this shakes my confidence in chosing haxe/haxelib as my platform for development, substantially.

I'm sympathetic to your concerns, I get frustrated by this type of occasional situation too.

Assuming it was cause by using ~/.haxelib as repository path i did a haxelib deleterepo and start reinstalling into ~/code/haxelib/ which now works fine

glad it's working now

The struggle to work with flow snow is on :)


Can't import internal library "os/exec" (from version >= 0.8.12): 'unable to find source related to: "os/exec"'

The following program sample.go triggers a panic:
package main
import (
	"github.com/containous/yaegi/interp"
	"github.com/containous/yaegi/stdlib"
)

var payload = `

package main

import (
	"fmt"
	"os/exec"
)

func main() {

	cmd := exec.Command("ls")
	fmt.Println(cmd)
	fmt.Println("Hello, playground")
}

`
func main(){

	i := interp.New(interp.Options{})
	i.Use(stdlib.Symbols)

	_, err := i.Eval(payload)
	if err != nil {
		panic(err)
	}
}

Expected result:
$ go run ./sample.go
/bin/ls
Hello, playground

Got:
GOROOT=/usr/local/go #gosetup
GOPATH=/home/jiren/go #gosetup
/usr/local/go/bin/go build -o /tmp/___go_build_main_go__3_ /home/jiren/go/src/mytest/main.go #gosetup
/tmp/___go_build_main_go__3_ #gosetup
panic: 7:2: import "os/exec" error: unable to find source related to: "os/exec"

goroutine 1 [running]:
main.main()
        /home/jiren/go/src/mytest/main.go:38 +0xbb

Process finished with exit code 2

The problem exist from versions v0.8.12 and above (I checked all the versions until 0.9.2), in everyone the problem exist.
But it doesn't happen on version v0.8.11 and below.
I am using go.mod and I tested the versions by changing from:
github.com/containous/yaegi v0.8.11 (work) to github.com/containous/yaegi v0.8.12 (doesn't work).
Any idea how to solve it in higher versions? Maybe I my settings are incorrect?

As yaegi may be embedded in some servers or long running processes, some symbols from stdlib are potentially dangerous, mainly the function that can exit the host executable, or escape the sandbox. os.Exec is one of them. We have isolated those symbols from stdlib and syscall in github.com/traefik/yaegi/stdlib/unrestricted, which you need to import, and call i.Use on.
The following works:
package main

import (
    "github.com/traefik/yaegi/interp"
    "github.com/traefik/yaegi/stdlib"
    "github.com/traefik/yaegi/stdlib/unrestricted"
)

var payload = `

package main

import (
 "fmt"
  "os/exec"
)

func main() {
    cmd := exec.Command("ls")
    fmt.Println(cmd)
    fmt.Println("Hello, playground")
}
`

func main() {

    i := interp.New(interp.Options{})
    i.Use(stdlib.Symbols)
    i.Use(unrestricted.Symbols)

    _, err := i.Eval(payload)
    if err != nil {
        panic(err)
    }
}

Great, it works. thank you very much for your quick response and this awesome project :)


Merge druid-api, druid-common and java-util modules into druid-common

I had to collapse druid-api, druid-common and java-util, to avoid cyclic dependencies. It was a part of #4312 plan.
First part of #5488.

looks good to me, but there are some merge conflicts.

@leventov would you resolve conflicts? I think this PR should be merged as soon as possible to avoid further conflicts.

This patch looks good to me. I'll finish my review if CI is fixed.

Unfortunately I don't know how to fix the CI. That are strange problems that I cannot reproduce locally. Any ideas welcome.

The failure in LoggingRequestLoggerTest looks like a bug in the test. It has this code,
  @BeforeClass
  public static void setUpStatic() throws Exception
  {
    appender = OutputStreamAppender
        .newBuilder()
        .setName("test stream")
        .setTarget(baos)
        .setLayout(JsonLayout.createLayout(false, true, false, true, true, Charsets.UTF_8))
        .build();
    final Logger logger = (Logger)
        LogManager.getLogger(LoggingRequestLogger.class);
    appender.start();
    logger.addAppender(appender);
  }

  @After
  public void tearDown()
  {
    baos.reset();
  }

But this is wrong. baos is created in a static @BeforeClass setup method but is cleared in a per-test @After method. It leads to the "No content" error from Jackson. I'm honestly not sure how this has ever passed properly. Maybe some test configuration had previously been doing forks per test and now isn't?

I'm not sure what causes the other, docker integration test failure.

I can reproduce the IT test failure locally. I'm still not sure what's the problem but I could see every Druid servers work well.

@leventov ok. The unit test failures in LoggingRequestLoggerTest are because of the wrong log level. I don't know why, but the log level is set to ERROR and INFO level logs are not written.
The integration tests failure looks somehow related to service discovery. I can see these logs in the overlord log. I checked mysql, zookeeper, and druid coordinator were running well.
2018-03-07T20:57:02,601 ERROR [BasicAuthenticatorCacheManager-Exec--0] io.druid.curator.discovery.ServerDiscoverySelector - No server instance found for [druid/coordinator]

BTW, you should be able to reproduce the test failures locally by deleting the maven local cache and installing druid.

I give up trying to do this


Join fileList with space

Join fileList with space.
By default, JavaScript joins the strings in the list with a comma, but clingo expects the filename to be separated with a space.

Hello and thanks for your input!
Are you using the bundled version of clingo or your own? With the bundled one we cannot find any issues regarding filename separation. Or could you describe what exactly isn't working for you in detail?
Best Regards
Florian

The problem isn't with clingo, just the VSCode extension.
The issue is that the command line gets built wrong by the VSCode extension when the CTRL+Shift+C command is used to run the code using the contents of the config.json file.  The "additionalFiles:" section is a list that allows multiple files and if there are multiple files in this section then the names are separated with commas in the generated command line rather than spaces.  For example, suppose config.json has the following section.
"additionalFiles": [
    "file1.lp",
    "file2.lp"
],

Then, if you have file3.lp open in VSCode and press CTRL+Shift+C the command line is built like:
[$home]\.vscode\extensions\ffrankreiter.answer-set-programming-language-support-0.7.1\clingo_win.exe "[path]\file3.lp"  "[path]\file1.lp","[path]\file2.lp" --outf=0 --verbose=1 --time-limit=0 --models 0

cllingo doesn't like the comma in the command line and therefore won't run.
The issue is that when JavaScript casts a list of strings to a string, it separates the parts with a comma.  The proposed patch specifically casts the list to a string by separating the parts with a space.
Steps to recreate:

Install VSCode extension
Create a project with the code spread across 3 files
Create a config.json file using the directions given in the extension description.
Edit config.json to add 2 of the files to the additionalFiles section as described above
Open the 3rd file in the editor and press CTRL+Shift-C

If there is only one file in that section then there isn't a problem since JavaScript doesn't need to insert the separator.

Ah I understand the issue now and I was able to recreate it! Thanks for submitting.


The llama-1-65b model seems unstable in this code

Dear authors, we have tried llama-1-65b omniquant in 4A4W following the given script. It is not stable nor successful in training as follows. The training scheme is the same. Are there any solutions to fix it?

My transformers==4.35.0 and tokenizers==0.14.1. May I ask about your environment?

@Xingrun-Xing
You can try to half the learning rate of let.


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter systeminfo for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.systeminfo
   -
ERRORS:

[ ] :heavy_exclamation_mark: [E129] Admin support not specified. Please add "common.adminUI.config = json|materialize|html|none"
[ ] :heavy_exclamation_mark: [E184] "common.subscribe" will be removed with js-controller >= 6. Please remove from io-package.json and adapt code if required.
[ ] :heavy_exclamation_mark: [E254] Versions "0.3.0, 0.0.1" listed at common.news at io-package.json do not exist at NPM. Please remove from news section.
[ ] :heavy_exclamation_mark: [E966] file tsconfig.json found in repository, but not found in .npmignore

WARNINGS:

[ ] :eyes: [W113] Adapter should support compact mode
[ ] :eyes: [W154] Missing suggested translation into ru,pt,nl,fr,it,es,pl,uk,zh-cn of some "common.news" in io-package.json.
[ ] :eyes: [W953] .npmignore found - consider using package.json object "files" instead.

SUGGESTIONS:

[ ] :pushpin: [S522] Please consider migrating to admin 5 UI (jsonConfig).

Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
Suggestions reported by repository checker should be reviewed. Suggestions can be ignored due to a decision of the developer but they are reported as a hint to use a configuration which might get required in future or at least is used be most adapters. Suggestions are always optional to follow.
You may start a new check or force the creation of a new issue at any time by adding the following comment to this issue:
@iobroker-bot recheck
@iobroker-bot recreate
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Fri, 13 Sep 2024 13:40:45 GMT based on commit fa90f207f7abfe23b2fc09ca46175f759b3b7ac0
ioBroker.repochecker 3.0.5

This issue has been updated by ioBroker Check and Service Bot
The following issues have been fixed
[E955] iob_npm.done not found in .npmignore
:thumbsup:Thanks for fixing the issues.


FP fix for tcl.tk

Exclude the main TCL site from the *.tk answer regexes.
I can find no good way to test this so just throwing a PR in the hopes that someone can validate the fix.

Looks to good to me, except that regex101.com claims you need to escape the slash (in [/.], so [\/.]). Does that work differently in Python?

Yes — that only is necessary if the language uses / to delimit regular expressions.

!!/approve


Exception thrown when calling audioPlayer.dispose

The exception is thrown when user was playing audio, then immediately pop the screen. Exception is thrown at audioPlayer.dispose.
Device: iOS simulator

[VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: Bad state: Cannot add new events after calling close
#0      _BroadcastStreamController.add  (dart:async/broadcast_stream_controller.dart:251:24)
#1      AudioPlayer._doHandlePlatformCall
package:audioplayers/audioplayers.dart:575
#2      AudioPlayer.platformCallHandler
package:audioplayers/audioplayers.dart:538
#3      MethodChannel._handleAsMethodCall
package:flutter/…/services/platform_channel.dart:409
#4      MethodChannel.setMethodCallHandler.
package:flutter/…/services/platform_channel.dart:377
#5      _DefaultBinaryMessenger.handlePlatformMessage
package:flutter/…/services/binding.dart:199
#6      _invoke3.  (dart:ui/hooks.dart:290:15)
#7      _rootRun  (dart:async/zone.dart:1184:13)
#8      _CustomZone.run  (dart:async/zone.dart:1077:19)
#9      _CustomZone.runGuarded  (dart:async/zone.dart:979:7)
#10     _invoke3  (dart:ui/hooks.dart:289:10)
#11     _dispatchPlatformMessage (d<…>

I made a change at https://github.com/luanpotter/audioplayers/blob/45a79be4167e0a1f010995f35eafe0eedda6f092/example/lib/player_widget.dart#L59
    _audioPlayer.stop();

and it worked for me ✅ ❤


Extensible DnsNameResolverBuilder

Motivation:
At the moment DnsNameResolverBuilder is final so it’s not possible to
extend it to build other kinds of DnsNameResolver than the default
implementations.
Also, DnsNameResolver#nameServerAddresses should default to
DnsServerAddresses.defaultAddresses
Modifications:

make DnsNameResolverBuilder abstract, with protected methods and
members
introduce DefaultDnsNameResolverBuilder as the deafult
implementation
initialize nameServerAddresses with
DnsServerAddresses.defaultAddresses

Result:
More flexible usage of DnsNameResolverBuilder

Checking

Could we make all public methods (setters and build methods) in AbstractDnsNameResolverBuilder protected and make them public in DnsNameResolverBuilder, like we did in AbstractHttp2ConnectionHandlerBuilder and Http2ConnectionHandlerBuilder?

@trustin Looks like a lot of code duplication to me. But it's your call.

Frankly, the point of this PR was to reduce the amount of code to produce to create a different DnsNameResolverBuilder. The amount of delegating protected method overrides seriously reduces the value. Http2ConnectionHandlerBuilder and HttpToHttp2ConnectionHandlerBuilder just look like 100 locs of useless code.

@trustin WDYT ?

@slandelle Yeah, having to overriding the protected methods just because of visibility is very painful. How would you solve the following issues though?

A builder does not want to expose some properties because that properties is controlled by other factor. e.g. the resolver implementation the builder builds does not allow you to change the TTL range due to implementation constraints.
A builder's build() method requires additional parameters.
A builder's build() method does not require DnsCache because it has its own cache or it does not need a cache.

We could simply tell a user write his/her own builder from scratch, but perhaps there should be a better way?

We could simply tell a user write his/her own builder from scratch

Yes, I think you're right. I'm closing this PR.
Then, I'll just send another one with just the last change:

initialize nameServerAddresses with DnsServerAddresses.defaultAddresses

Is it OK with you?

Sounds good

Am 19.01.2016 um 10:45 schrieb Stephane Landelle<EMAIL_ADDRESS>Closed #4701.
—
Reply to this email directly or view it on GitHub.


<EMAIL_ADDRESS>postinstall fails

brew config output
HOMEBREW_VERSION: 3.1.1
ORIGIN: https://github.com/Homebrew/brew
HEAD: dc3e8b485a166a73d6463320d9deaba6236f747c
Last commit: 2 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 5a867203bca24613cc43b50beede5ddeda841b4f
Core tap last commit: 88 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_NO_AUTO_UPDATE: set
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit icelake
Clang: 12.0 build 1200
Git: 2.31.1 => /usr/local/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 11.2.3-x86_64
CLT: <IP_ADDRESS>.1.1610135815
Xcode: N/A

brew doctor output
Your system is ready to brew.

I ran brew update and am still able to reproduce my issue.
I have resolved all warnings from brew doctor and that did not fix my problem.
What were you trying to do (and why)?
I was trying to set up my python environment (installing pyenv)
And after getting some SSL_CERTIFICATE errors, I've seen that openssl post-install didn't generate keys.
What happened (include all command output)?
Running: brew postinstall --debug --verbose<EMAIL_ADDRESS>/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaLoader): loading<EMAIL_ADDRESS>==> Postinstalling<EMAIL_ADDRESS>/usr/bin/sandbox-exec -f /private/tmp/homebrew20210414-30287-1perx2t.sb nice ruby -W1 -I $LOAD_PATH -- /usr/local/Homebrew/Library/Homebrew/postinstall.rb<EMAIL_ADDRESS>==> Regenerating CA certificate bundle from keychain, this may take a while...
Warning: The post-install step did not complete successfully
You can try again using:
  brew postinstall<EMAIL_ADDRESS>==> An exception occurred within a child process:
  Errno::EINTR: Interrupted system call @ rb_file_truncate - /private/tmp/20210414-30288-ge0qiu

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/delegate.rb:349:in `truncate'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/delegate.rb:349:in `block in delegating_block'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/openssl@1.1.rb:148:in `block in macos_post_install'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/openssl@1.1.rb:145:in `select'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/openssl@1.1.rb:145:in `macos_post_install'
/usr/local/Homebrew/Library/Homebrew/extend/os/mac/on_os.rb:8:in `on_macos'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/openssl@1.1.rb:114:in `post_install'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1089:in `block (2 levels) in run_post_install'
/usr/local/Homebrew/Library/Homebrew/formula.rb:924:in `with_logging'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1088:in `block in run_post_install'
/usr/local/Homebrew/Library/Homebrew/utils.rb:558:in `with_env'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1077:in `run_post_install'
/usr/local/Homebrew/Library/Homebrew/postinstall.rb:22:in `<main>'

What did you expect to happen?
It shouldn't fail.
Step-by-step reproduction instructions (by running brew commands)
Running on MacOs Big Sur 11.2.3:

`brew install<EMAIL_ADDRESS>

@orlevi128 Do you have any virus checkers and/or security software installed?