Streaming input

Hey! It's nice to have a JS library, thanks! I'd like to know if it's in your plans to add streaming input as the Python library has?

@vhmartinezm definitely -- this should be released in the next couple weeks and I will follow up here when it is.

hi @dsinghvi, any update on if this is supported yet?

Hey @tday -- ElevenLabs is currently putting together an AsyncAPI spec. I expect this to be released by April!

For those looking for a temporary solution while we wait for the official SDK to be updated...
Here is an implementation based on the eleven labs docs
This is a rough snippet that I am typing here in GitHub ripped out of my app. It may have some errors that you will need to clean up
import { WebSocket } from "ws";

export async function streamTextToSpeech(
  text: string,
  options?: { ttsClient?: TextToSpeechClient },
): Promise<stream.Readable> {
  const ttsClient = options?.ttsClient ?? getTextToSpeechClient();
  const data: ElevenLabsClient.GeneratAudioBulk = {
    model_id: "eleven_turbo_v2", // only support english for now
    text: text,
    voice_settings: {
      similarity_boost: 0.75,
      stability: 0.5,
      use_speaker_boost: true,
    },
  };

  // NOTE: using voice ID saves an API roundtrip to get voice name -> voice ID
  return ttsClient.generate({
    voice: michaelVoiceID,
    stream: true,
    ...data,
  });
}

// create interface from this sampleAudioChunkResponse
interface AudioChunk {
  audio: string;
  isFinal: boolean;
  alignment: {
    char_start_times_ms: number[];
    chars_durations_ms: number[];
    chars: string[];
  };
  normalizedAlignment: {
    char_start_times_ms: number[];
    chars_durations_ms: number[];
    chars: string[];
  };
}

export function inputStreamTextToSpeech(
  textStream: AsyncIterable<string>,
): AsyncGenerator<AudioChunk> {
  const model = "eleven_turbo_v2";
  const wsUrl = `wss://api.elevenlabs.io/v1/text-to-speech/${michaelVoiceID}/stream-input?model_id=${model}`;
  const socket = new WebSocket(wsUrl);

  socket.onopen = function () {
    const streamStart = {
      text: " ",
      voice_settings: {
        stability: 0.5,
        similarity_boost: 0.8,
      },
      xi_api_key: elevenLabsApiKey,
    };

    socket.send(JSON.stringify(streamStart));

    // send stream until done
    const streamComplete = new Promise((resolve, reject) => {
      (async () => {
        for await (const message of textStream) {
          const request = {
            text: message,
            try_trigger_generation: true,
          };
          socket.send(JSON.stringify(request));
        }
      })()
        .then(resolve)
        .catch(reject);
    });

    streamComplete
      .then(() => {
        const endStream = {
          text: "",
        };

        socket.send(JSON.stringify(endStream));
      })
      .catch((e) => {
        throw e;
      });
  };

  return (async function* audioStream() {
    let isDone = false;
    let chunks: AudioChunk[] = [];
    let resolve: (value: unknown) => void;
    let waitForMessage = new Promise((r) => (resolve = r));

    socket.onmessage = function (event) {
      const audioChunk = JSON.parse(event.data as string) as AudioChunk;
      if (audioChunk.audio && audioChunk.alignment) {
        chunks.push(audioChunk);
        resolve(null);
        waitForMessage = new Promise((r) => (resolve = r));
      }
    };

    socket.onerror = function (error) {
      throw error;
    };

    // Handle socket closing
    socket.onclose = function () {
      isDone = true;
    };

    while (!isDone) {
      await waitForMessage;
      yield* chunks;
      chunks = [];
    }
  })();
}

Call it like this
import { OpenAI } from "openai";
import { ChatCompletionStream } from "openai/lib/ChatCompletionStream";

export async function streamCompletion() {
  const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
  return client.beta.chat.completions.stream({
    model: "gpt-4-0125-preview",
    messages: [{ role: "system", content: systemPrompt }, ...messages],
  });
}

export async function* llmMessageSource(
  llmStream: ChatCompletionStream,
): AsyncIterable<string> {
  for await (const chunk of llmStream) {
    const message = chunk.choices[0].delta.content;
    if (message) {
      yield message;
    }
  }
}

async function main(systemPrompt: string, prompt: string) {
    const llmStream = streamCompletion({
      systemPrompt,
      messages: [{ role: "user", content: prompt }],
    });
    const llmMessageStream = llmMessageSource(llmStream);
    for await (const audio of inputStreamTextToSpeech(llmMessageStream)) {
       console.log(audio)
    }
}

@dsinghvi  everyone is waiting for this feature ⌛ 🚀

Hey @dsinghvi  any update on this, been waiting for this from quite a long time. Thank You

Here is another simple implementation based on node streams. I like this method because back-pressure is handled internally by the streams.
const WebSocket = require('ws');
const { createWebSocketStream } = WebSocket;
const { pipeline } = require('node:stream');

const { Transform } = require('stream');

const fs = require('fs');

const modelId = "eleven_multilingual_v2";
const voiceId = "21m00Tcm4TlvDq8ikWAM";

const ws = new WebSocket(`wss://api.elevenlabs.io/v1/text-to-speech/${voiceId}/stream-input?model_id=${modelId}`);

const messageStream = createWebSocketStream(ws, { encoding: 'utf8' });

ws.on('open', () => {
  const payload = {
    "text": " ",
    "voice_settings": {
        "stability": 0.5,
        "similarity_boost": 0.5
    },
    "xi_api_key": process.env.XI_API_KEY,
  }
  ws.send(JSON.stringify(payload));

  // These must always end with a space.
  ws.send(JSON.stringify({ "text": "Hello world. " }));
  ws.send(JSON.stringify({ "text": "This is some text. "}));

  // End of stream
  ws.send(JSON.stringify({ "text": "" }));
});

ws.on("error", (error) => {
  console.log(error);
});

const transform = new Transform({
  transform(chunk, encoding, callback) {
    if (encoding !== 'utf8') {
      callback(new Error("Expected utf8 encoding"));
      return;
    }

    const message = JSON.parse(chunk);
    if (message.audio) {
      const buffer = Buffer.from(message['audio'], 'base64')
      this.push(buffer);
    }

    callback(null);
  },

  decodeStrings: false,
});

async function run() {
  // Send output to a file, but this could also be a node http.ServerResponse object
  const output = fs.createWriteStream('output.mp3');

  await pipeline(
    messageStream,
    transform,
    output,
    (err) => {
      if (err) {
        console.error('Pipeline failed.', err);
      } else {
        console.log("finished")
      }
    }
  );
}

run();

Here is another simple implementation based on node streams. I like this method because back-pressure is handled internally by the streams.
const WebSocket = require('ws');
const { createWebSocketStream } = WebSocket;
const { pipeline } = require('node:stream');

const { Transform } = require('stream');

const fs = require('fs');

const modelId = "eleven_multilingual_v2";
const voiceId = "21m00Tcm4TlvDq8ikWAM";

const ws = new WebSocket(`wss://api.elevenlabs.io/v1/text-to-speech/${voiceId}/stream-input?model_id=${modelId}`);

const messageStream = createWebSocketStream(ws, { encoding: 'utf8' });

ws.on('open', () => {
  const payload = {
    "text": " ",
    "voice_settings": {
        "stability": 0.5,
        "similarity_boost": 0.5
    },
    "xi_api_key": process.env.XI_API_KEY,
  }
  ws.send(JSON.stringify(payload));

  // These must always end with a space.
  ws.send(JSON.stringify({ "text": "Hello world. " }));
  ws.send(JSON.stringify({ "text": "This is some text. "}));

  // End of stream
  ws.send(JSON.stringify({ "text": "" }));
});

ws.on("error", (error) => {
  console.log(error);
});

const transform = new Transform({
  transform(chunk, encoding, callback) {
    if (encoding !== 'utf8') {
      callback(new Error("Expected utf8 encoding"));
      return;
    }

    const message = JSON.parse(chunk);
    if (message.audio) {
      const buffer = Buffer.from(message['audio'], 'base64')
      this.push(buffer);
    }

    callback(null);
  },

  decodeStrings: false,
});

async function run() {
  // Send output to a file, but this could also be a node http.ServerResponse object
  const output = fs.createWriteStream('output.mp3');

  await pipeline(
    messageStream,
    transform,
    output,
    (err) => {
      if (err) {
        console.error('Pipeline failed.', err);
      } else {
        console.log("finished")
      }
    }
  );
}

run();

@jbaudanza thanks for the heads up. I tried your code but it wrote nothing to the output mp3 file :(

Does anyone understand how to divide multiple ws requests? I mean a have 2+ calls from twilio for example, and they provide streamId, but i cant find similar feature in 11labs ws api? How do i handle this? Maybe some sort of threads?


Capture Sample Rate

Hi, I was wondering why alsa does not capture at a sample rate of 96000 (required for North American SID monitoring), and how to enable that functionality.  Thank you!

Hi mcehs,
Did you setup the sample rate in the .cfg file as follow:
audio_sampling_rate = 96000
To confirm that you Linux/ALSA is recognized, you can run supersid/sampler.py by itself: it will list all the possible sampling rates. Check out that 96000 is supported.
Best regards,
Eric


cross domain access violatin

when using the javascript api you're hosting it started giving cross domain access violation errors recently.
No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Sorry about that! Should be working now.


[Guide] How to use this module in V10

I saw two people asking around for this module on FoundryVTT's main discord and I was intrigued. I was shocked to see that it wasn't nearly as popular as it should be. (Follow the red highlights)
HOW TO USE WORKAROUND IN STEPS:
Step 1: Locate the Crossblade Macros Compendium

Step 2: Find and create this Macro (Personally, I would add it to my hotbar.)

Step 3: After Macro is created, Play the macro and add in any input to this (Preferably the Custom Event). Select "OK" and you should recieve access to Crossblade's handler.

(After enabling the Macro, you can see I have access to the Crossblade handler)

ADDITIONAL NOTES:
How to play music (for those who don't know how):
Step 0: Follow the first Guide above.
Step 1: Create audio.

Step 2: Right-Click the created audio and select Configure Crossblade Sound Layers.

(You should be sent here)

Step 3: Select the + and it should open the main prompt .

Step 4: Locate the Crossblade Macros Compendium.

Step 5: Find and create this Macro (Personally, I would also add this to my hotbar.)

(Extra: These options are what your Event's name should be so rename these to what your Custom Event's name is. You can also add in more prompts.)

Step 6: Play the Macro to change the audio.

(Extra: If you want to go back to the base audio, just select the blank choice, just make sure to leave a blank option in the macro.)
I never really tried the other options since I don't think they're as important as the Custom Events... Anyways...
Happy GMing! I hope I helped make someone's campaign better, lol.

I've created a v10 version wich I will be releasing in my fork soon (you can download in https://github.com/elizeuangelo/crossblade/releases/download/v10/crossblades.zip).
Pull #15

I've created a v10 version wich I will be releasing in my fork soon (you can download in https://github.com/elizeuangelo/crossblade/releases/download/v10/crossblades.zip).
Pull #15

Woah! I didn't expect this to get updated so soon after making this post... thanks for committing to the module. I'm still in shock that it got fixed by you minutes after making this lol... but that's better than what I had so I'll just edit this post to be a guide instead of a workaround.


Kitchen Scenario Missing

is some file that contains the kitchen scenario?

Can you post a reference to the scene you're describing (image or paper link or otherwise)?

Sure, like this scenario:
https://github.com/KavrakiLab/motion_bench_maker/blob/main/problems/generate_all_panda.sh#L13
All the others seems to be correct, but the 100 sample kitchen scenarios are missing

@balakumar-s added the robometrics data, so he can chime in.
IIRC, we didn't add that one because it's defined with a URDF. All of our scenes are expressed as collections of geometric primitives. We did this to make them a portable representation for all sorts of downstream tasks and evaluations.
I'm sure it's possible to describe this scene in terms of primitives but it would take effort. If you're interesting in submitting a PR, we would be super grateful!


Typo in installation behaviour

In https://github.com/rsercano/mongoclient/wiki#31-compile-from-source-browser-edition step 4, the command meteor npm install is given. I think this should be npm install.

Hello @realflash
thanks for this, but I guess both is applicable, here's the doc

That didn't work for me, which is what made me consider that maybe it was a mistake and switch to npm install. But perhaps that was an issue local to me.
In any case, I got so bored of waiting for an hour for meteor to "update the package cache" and start building things that I canned the whole lot and switched to admin-mongo. Is meteor really required for mongoclient to run (rather than build)? I'm looking to access from a web browser and have it run on the mongo server.

@realflash why don't you use docker ? https://hub.docker.com/r/mongoclient/mongoclient/

I couldn't run adminmongo due to syntax errors in the current code, so I'm back, and I have successfully deployed via docker. I can't connect to my DB, though - where's the log file?

@realflash
just don't run with -d flag and here you go. If you get timeout issues, try to set timeouts to 0 at settings.

Achieved the same thing with docker logs and found the port typo that was causing me a problem. Thanks very much.


Improved support for per-service customisation

I understand that templating of per-service sections was once in template files but is now within the code because of its complexity, but can be overridden with templates on a per-service basis using templateFePath and templateBePath, but they must both be set.
Given that complexity I can understand why example templates aren't provided in the documentation.
Forcing both templateBePath and templateFePath to be set however means that as soon as you find that you need any custom functionality that either isn't (or shoudn't be) supported by DFP you are forced to throw away all of the support that DFP gives you for crafting the configuration for affected services.
The least impactful things I can think of to help the situation are:

Allowing just one of templateBePath, templateFePath to be set would reduce the impact of needing to customise.
Supporting extraFrontend and extraBackend at service level would allow extra configuration without dropping any of the existing support from DFP for a given service

I can see moving back to a more templated approach would be a challenge

Decoupling of templateBePath and templateFePath is done.
A new parameter extraBackend was added and is used on service level.
I could not add extraFrontend to the service level since frontend are shared with multiple services.
Can your use case be served with the  generic EXTRA_FRONTEND environment variable?
Please try the release 384 and let me know whether it works as expected.

That's awsome!
You're totally right about the extraFrontend and EXTRA_FRONTEND.
Thanks again for really useful tool!

Just testing this, I used templateBePath on a service and the template snippet was generated (it was just a comment line), however it did not generate the frontend snippet for the service so no requests could be directed to the backend.
backendExtra worked as expected and allowed me to reject requests from a service using http-request deny

Can you send me the commands you used to create the proxy and the service that failed to configure it? That will help me find the problem much faster.

sorry not to have followed up on this, I've been focusing on something else, will re-roll this week

@bsimpson53 Did you have time to re-roll it?

Closing due to inactivity. Please reopen this issue if you'd like us to work on it.


getting invalid argument error

Argument 1 passed to Gomoob\Pushwoosh\Client\Pushwoosh::createMessage() must be an instance of Gomoob\Pushwoosh\Model\Request\CreateMessageRequest, string given
My code
<?php

use PushNotification;

class TestController extends Controller
{

    public function sendNotification()
    {
                $data ="hi";
	        $request = json_encode(['request' => $data]);
                Pushwoosh::createMessage($request);
                Pushwoosh::getApplication();
   }
}

Any one help me how to use this package to send notifications to android mobile

Please see the documentation http://gomoob.github.io/php-pushwoosh/

// Create a Pushwoosh client
$pushwoosh = Pushwoosh::create()
    ->setApplication('XXXX-XXX')
    ->setAuth('xxxxxxxx');

// Create a request for the '/createMessage' Web Service
$request = CreateMessageRequest::create()
    ->addNotification(Notification::create()->setContent('Hello Jean !'));

// Call the REST Web Service
$response = $pushwoosh->createMessage($request);

// Check if its ok
if($response->isOk()) {
    print 'Great, my message has been sent !';
} else {
    print 'Oups, the sent failed :-(';
    print 'Status code : ' . $response->getStatusCode();
    print 'Status message : ' . $response->getStatusMessage();
}

@vinkla ,hi it is PHP code and it is working fine ,
I am using push notifications with laravel.
I'm getting the following error when I written code like this
$request ="hi this is test";
Pushwoosh::createMessage($request);
Pushwoosh::getApplication();

in controller file
ERROR:**
Argument 1 passed to Gomoob\Pushwoosh\Client\Pushwoosh::createMessage() must be an instance of Gomoob\Pushwoosh\Model\Request\CreateMessageRequest, string given**

The createMessage method can't handle a string. You have to create the request:
$request = CreateMessageRequest::create()
    ->addNotification(Notification::create()->setContent('Hello Jean !'));

I tried that thing ,
I added providers
at providers array

Hoy\Pushwoosh\PushwooshServiceProvider::class

I added Facades
at alias array

'Pushwoosh' => Hoy\Pushwoosh\Facades\Pushwoosh::class

But when I’m going to create an object for CreateMessageRequest it throws an error that
** Class App\Http\Controllers\CreateMessageRequest not found error**

Yes, that is because you've to import the CreateMessageRequest class.

Hi @vinkla , There are no Facades available ,How can i achieve that,as those files are loaded by composer.

Did you add the facade to the app.php config file?

@vinkla Yes , I have added to providers and alias array
<?php

return [

    'providers' => [

        /*
         * Laravel Framework Service Providers...
         */
        Lakshmajim\Twilio\TwilioServiceProvider::class,
        Hoy\Pushwoosh\PushwooshServiceProvider::class,

    ],

    /*
    |--------------------------------------------------------------------------
    | Class Aliases
    |--------------------------------------------------------------------------
    |
    | This array of class aliases will be registered when this application
    | is started. However, feel free to register as many as you wish as
    | the aliases are "lazy" loaded so they don't hinder performance.
    |
    */

    'aliases' => [
        'Pushwoosh' => Hoy\Pushwoosh\Facades\Pushwoosh::class

    ],

];

Okay, good. Please paste the code where you are trying to use the facade class.

Hi @vinkla ,
Here is my code
<?php namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use JWTAuth;
use Tymon\JWTAuth\Exceptions\JWTException;
use JWTFactory;

use Hoy\Pushwoosh\Facades\Pushwoosh;
// use Hoy\Pushwoosh\PushwooshManager;
// use Gomoob\Pushwoosh\Model\Notification;

class TestController extends Controller
{
    public function sendnotification()
    {
                 $request = CreateMessageRequest::create()
                                       ->addNotification(Notification::create()->setContent('Hello lakshmaji !'));

                Pushwoosh::createMessage($request);
                Pushwoosh::getApplication();
    }

}

You've to import CreateMessageRequest and Notification as well.

@vinkla ,I have commented those things in TestController.I tried importing but it is throwing error

You've to import them both otherwise it wont work.

In your snippet you only import the Notification class.


docs(config) refactor stats options, update links, update info

Finally got my hands into refactoring the non accessible version of the stats config. Now all the options are properly documented (based on the available info and somewhere enhanced) and have new type system as a demonstration. If we decide to change the types notation i will update this PR.

stats options have types and defaults in a common format
stats options can now be linked to
some of the stats options are now explained better
provided direct links to stats.logging]

P.S. Sorry for the big diff but dont see how i'd split that work.

I am not sure about the Tell verb, but also not sure what to use instead

Lets revisit Tell later if there are ideas from us or other contributors


Secrets shown in plain text

Describe the noise
Resource type (i.e. Microsoft.Storage/storageAccounts)
Microsoft.ContainerService/managedClusters
apiVersion (i.e. 2019-04-01)
2019-08-01
Client (PowerShell, Azure CLI, or API)
PowerShell
Relevant ARM Template code (we only need the resource object specified in #1 and #2, but if it's easier you can include the entire template
    {
      "apiVersion": "[variables('apiVersion').aks]",
      "type": "Microsoft.ContainerService/managedClusters",
      "name": "[parameters('name')]",
      "location": "[resourceGroup().location]",
      "properties": {
        "nodeResourceGroup": "[concat(parameters('name'),'-worker')]",
        "kubernetesVersion": "[parameters('kubernetesVersion')]",
        "enableRBAC": true,
        "dnsPrefix": "[parameters('name')]",
        "addonProfiles": {
          "kubeDashboard": {
            "enabled": false
          },
          "omsagent": {
            "enabled": true,
            "config": {
              "logAnalyticsWorkspaceResourceID": "[variables('cluster').workspaceId]"
            }
          }
        },
        "copy": [
          {
            "name": "agentPoolProfiles",
            "count": "[length(parameters('agentPoolProfiles'))]",
            "input": {
              "name": "[concat('nodepool',add(copyIndex('agentPoolProfiles'),1))]",
              "maxPods": 250,
              "osDiskSizeGB": 128,
              "count": "[parameters('agentPoolProfiles')[copyIndex('agentPoolProfiles')].nodeCount]",
              "vmSize": "[parameters('agentPoolProfiles')[copyIndex('agentPoolProfiles')].nodeVmSize]",
              "osType": "Linux",
              "vnetSubnetID": "[variables('agentPoolProfiles').vnetSubnetId]",
              "enableAutoScaling": "[if(parameters('agentPoolProfiles')[copyIndex('agentPoolProfiles')].enableAutoScaling, parameters('agentPoolProfiles')[copyIndex('agentPoolProfiles')].enableAutoScaling, json('null'))]",
              "maxCount": "[if(parameters('agentPoolProfiles')[copyIndex('agentPoolProfiles')].enableAutoScaling, parameters('agentPoolProfiles')[copyIndex('agentPoolProfiles')].maxCount, json('null'))]",
              "minCount": "[if(parameters('agentPoolProfiles')[copyIndex('agentPoolProfiles')].enableAutoScaling, parameters('agentPoolProfiles')[copyIndex('agentPoolProfiles')].minCount, json('null'))]",
              "type": "VirtualMachineScaleSets",
              "availabilityZones": "[parameters('agentPoolProfiles')[copyIndex('agentPoolProfiles')].availabilityZones]"
            }
          }
        ],
        "networkProfile": {
          "loadBalancerSku": "standard",
          "networkPlugin": "azure",
          "networkPolicy": "calico",
          "serviceCidr": "<IP_ADDRESS>/16",
          "dnsServiceIp": "<IP_ADDRESS>",
          "dockerBridgeCidr": "<IP_ADDRESS>/16"
        },
        "servicePrincipalProfile": {
          "clientId": "[parameters('servicePrincipalClientId')]",
          "secret": "[parameters('servicePrincipalClientSecret')]"
        },
        "aadProfile": {
          "clientAppId": "[parameters('aadClientAppId')]",
          "serverAppId": "[parameters('aadServerAppId')]",
          "serverAppSecret": "[parameters('aadServerAppSecret')]",
          "tenantId": "[parameters('aadTenantId')]"
        }
      }
    }

Expected response (i.e. "I expected no noise since the template has not been modified since the resources were deployed)
That secrets like secret and serverAppSecret are not shown in plain text instead display a message like sensitive information. Similar what Terraform does with secrets.
For secrets it should not matter if I am providing them in plain text with a template parameter file or using a Key Vault reference. They should always be replaced with sensitive information or something similar, but do not display them in plain text in the output.
    "aadServerAppSecret": {
      "reference": {
        "keyVault": {
          "id": "/subscriptions/REDACTED/resourceGroups/operations-management/providers/Microsoft.KeyVault/vaults/REDACTED"
        },
        "secretName": "aadServerAppSecret"
      }
    }

Current (noisy) response (either include a screenshot of the what-if output, or copy/paste the text)
I manually replaced sensitive information with REDACTED in the output.
Note: As What-If is currently in preview, the result may contain false positive predictions (noise).
You can help us improve the accuracy of the result by opening an issue here: https://aka.ms/WhatIfIssues.

Resource and property changes are indicated with these symbols:
  + Create
  * Ignore

The deployment will update the following scope:

Scope: /subscriptions/REDACTED/resourceGroups/aks

  + Microsoft.ContainerService/managedClusters/akstestwhatif

      apiVersion:                                                               "2019-08-01"
      id:
"/subscriptions/REDACTED/resourceGroups/aks/providers/Microsoft.ContainerService/managedClusters/akstestwhatif"
      location:                                                                 "northeurope"
      name:                                                                     "akstestwhatif"
      properties.aadProfile.clientAppId:                                        "REDACTED"
      properties.aadProfile.serverAppId:                                        "REDACTED"
      properties.aadProfile.serverAppSecret:                                    "REDACTED"
      properties.aadProfile.tenantId:                                           "REDACTED"
      properties.addonProfiles.kubeDashboard.enabled:                           false
      properties.addonProfiles.omsagent.config.logAnalyticsWorkspaceResourceID:
"/subscriptions/REDACTED/resourceGroups/operations-management/providers/Microsoft.OperationalInsights/workspaces/REDACTED"
      properties.addonProfiles.omsagent.enabled:                                true
      properties.agentPoolProfiles: [
        0:

          availabilityZones: [
            0: "1"
            1: "2"
            2: "3"
          ]
          count:             3
          enableAutoScaling: true
          maxCount:          6
          maxPods:           250
          minCount:          3
          name:              "nodepool1"
          osDiskSizeGB:      128
          osType:            "Linux"
          type:              "VirtualMachineScaleSets"
          vmSize:            "Standard_D2_v3"
          vnetSubnetID:      "/subscriptions/REDACTED/resourceGroups/aks/providers/Microsoft.Network/virtualNetworks/aks-vnet/subnets/aks-subnet"

        1:

          count:        2
          maxPods:      250
          name:         "nodepool2"
          osDiskSizeGB: 128
          osType:       "Linux"
          type:         "VirtualMachineScaleSets"
          vmSize:       "Standard_D2_v3"
          vnetSubnetID: "/subscriptions/REDACTED/resourceGroups/aks/providers/Microsoft.Network/virtualNetworks/aks-vnet/subnets/aks-subnet"

      ]
      properties.dnsPrefix:                                                     "akstestwhatif"
      properties.enableRBAC:                                                    true
      properties.kubernetesVersion:                                             "1.14.8"
      properties.networkProfile.dnsServiceIp:                                   "<IP_ADDRESS>"
      properties.networkProfile.dockerBridgeCidr:                               "<IP_ADDRESS>/16"
      properties.networkProfile.loadBalancerSku:                                "standard"
      properties.networkProfile.networkPlugin:                                  "azure"
      properties.networkProfile.networkPolicy:                                  "calico"
      properties.networkProfile.serviceCidr:                                    "<IP_ADDRESS>/16"
      properties.nodeResourceGroup:                                             "akstestwhatif-worker"
      properties.servicePrincipalProfile.clientId:                              "REDACTED"
      properties.servicePrincipalProfile.secret:                                "REDACTED"
      type:                                                                     "Microsoft.ContainerService/managedClusters"

  * Microsoft.Network/publicIPAddresses/azst-aks1-ambassador
  * Microsoft.Network/trafficmanagerprofiles/aks
  * Microsoft.Network/trafficmanagerprofiles/akscnicalc
  * Microsoft.Network/trafficmanagerprofiles/appinsights
  * Microsoft.Network/trafficmanagerprofiles/helloworld
  * Microsoft.Network/trafficmanagerprofiles/src
  * Microsoft.Network/virtualNetworks/aks-vnet
  * Microsoft.Storage/storageAccounts/aksmasterlogs

Resource changes: 1 to create, 8 to ignore.

Additional context
Add any other context about the problem here.

Investigating

The fix for this has been checked in and will be deployed over the next week. Will close this out once the deployment is done.
Incidentally, the fix for this identified a lot of other noise that our auto-generation logic was missing, so this ended up being a great find - thanks!

Just checked this and looks to be resolved. Feel free to double check @neumanndaniel , but I am going to close this for now

@alex-frankel I can confirm that this issue is now resolved. Thanks!

@alex-frankel test notification.


Alternative syntax

Syntax idea by @primeare, modifications by @tshemsedinov
const { μ } = require('metasync');
const f = μ(f1)(f2, μ(f3)(f4), f5)(f6);
f((err, result) => {
  console.dir(err, result);
});

Known problems:

How can we compose sequential inside parallel composition? Solved: μ(f3)(f4) in example.
We can't distinguish sequential composition and composed function call. So when we will start execution?

I don't like the idea of using utf8 symbol you can't easily write from the keyboard and have to copy paste (μ).
As for the syntax, I find just using arrays much clearer as to what's going on. This syntax is cluttered with parentheses that hide the actual meaning too much imo.
Perhaps at least:
const { seq, par } = require('metasync');
const f = seq(f1, par(f2, seq(f3, f4), f5), f6);
f((err, result) => {
  console.dir(err, result);
});

I saved proposal from @primeare here just for notes, @lundibundi
We have no solution to distinguish sequential composition and composed function call, because f have a same contract with f6, so should we compose or start execution on next (). But maybe it will be used in future or will give inspiration to someone.

@lundibundi I like arrays too, because it all other syntax will finally save calls to data structures (most likely those arrays) and then will iterate executing seq/par. Arrays are enough expressive so no need to build arrays implicitly.

@lundibundi

I don't like the idea of using utf8 symbol you can't easily write from the keyboard and have to copy paste (μ).

FWIW, even if you don't setup AltGr or whatever it's called on your system (which you probably do, because you can't even enter em-dashes (—) from the keyboard otherwise; on Macs, for example, it is set up by default, so µ is just Option+m), you can enable Greek input method and enter µ as switch to Greek, m, switch back to English.
I agree that a non-ASCII name shouldn't be the only one for a function, but a convenient Unicode alias does sound like a good idea to me.

Well, if it's an alias I'm fine. I don't want a unicode symbol to be the only way of accessing the function.

@tshemsedinov actually, the problem  So when will we start execution? can easily be solved that way:
μ(f1)(f2, μ(f1, f3), f3)(f1)([2, 3], (err, data) => {
  if (err) return console.error(err);
  console.dir(data);
});

When we call a function with a first non-function argument (the data we want to pass), that means we are ready for execution.

@tshemsedinov that's just an example. You can put here any data.

@tshemsedinov here is a working concept tested on different data sets:
// runs functions in parallel
const parallel = (fns, data, callback) => {
  const end = fns.length;
  const collector = [];
  let counter = 0;
  let stop = false;
  if (end === 0) return process.nextTick(callback, null, collector);
  const finish = (err, ...data) => {
    if (stop) return undefined;
    if (err) return (stop = true) && process.nextTick(callback, err);
    collector.push(data.length > 1 ? data : data[0] || null);
    if (++counter === end) process.nextTick(callback, err, collector);
  };
  for (const fn of fns) process.nextTick(fn, data, finish);
};

const compose = (...f) => {
  const run = f.length < 2 ? [...f] : [f]; // functions to run
  const maybe = (...fns) => {
    // if we want to run a sequence we pass a non-function argument first
    // this argument will be passed to the first functions from `run` array
    if (fns[0].constructor !== Function) {
      const end = run.length;
      const collector = [];
      let counter = 0;

      const callback = (err, ...data) => {
        if (err) return process.nextTick(fns[1], err);
        collector.push(data.length > 1 ? data : data[0]);
        if (counter !== end) {
          if (run[counter].constructor !== Array) {
            process.nextTick(run[counter++], collector, callback);
          } else {
            process.nextTick(parallel, run[counter++], collector, callback);
          }
        } else {
          process.nextTick(fns[1], err, collector);
        }
      };

      if (run[counter].constructor !== Array) {
        process.nextTick(run[counter], fns[counter++], callback);
      } else {
        process.nextTick(parallel, run[counter], fns[counter++], callback);
      }
    } else if (fns.length === 1) {
      // save function to run sequentially
      run.push(fns[0]);
    } else {
      // save functions to run in parallel
      run.push(fns);
    }
    return maybe;
  };
  return maybe;
};

const μ = compose;

// sequential example:
μ(f1)(f2)(f3)('data', (err, data) => {
  if (err) return console.error(err);
  console.dir({ sequential: data }, { colors: true, depth: 10 });
});

// parallel example:
μ(f1, f2, f3)('data', (err, data) => {
  if (err) return console.error(err);
  console.dir({ parallel: data }, { colors: true, depth: 10 });
});

// simple nesting example:
const nestedSequence = μ(f1)(f3)(f2);
μ(f1)(f2, nestedSequence, f3)(f1)([2, 3], (err, data) => {
  if (err) return console.error(err);
  console.dir({ nested: data }, { colors: true, depth: 10 });
});

// complex example:
μ(f1)(μ(f2)(f3), μ(f1)(f2, f3), μ(f2)(f1, f1)(f3))(f3)([2, 3], (err, data) => {
  if (err) return console.error(err);
  console.dir({ complex: data }, { colors: true, depth: 10 });
});

The benefit of this method is that we can separate nested function compositions to the separate variables, or just keep it looks functional :D

@primeare please prepare PR so we can test it in CI and compare with current implementation syntactically and by performance.

@tshemsedinov will do ASAP


Type inference in assign as condition fails if it's not the first condition

In this example, bar inside the method is inferred to not be nil:
class Foo
  property bar : String?
end

def test
  foo = Foo.new
  foo.bar = "bar"

  unless (bar = foo.bar) && true # <--- !
    return
  end

  p bar.reverse
end

test # => "rab"

In this one it's not:
class Foo
  property bar : String?
end

def test
  foo = Foo.new
  foo.bar = "bar"

  unless true && (bar = foo.bar)  # <--- !
    return
  end

  p bar.reverse
end

test # => undefined method 'reverse' for nil (compile-time type is (String | Nil))

Perhaps it's because the assignment of bar itself depends on the former condition being truthy, but I think the Nil type should be filtered out if the conditions hold.

#codetriage
Any progress on this? It's still reproducible on 0.25.1. If this is a long-term goal/plan, it should be labeled as such, or some project should be made to contain things like this.

This was fixed at some point so I'm closing it.


Multiple identical fixtures generated if seed call is chained

Hi,
Apologies to bother you with another bug, but I thought I'd put this here so future users at least know there is an issue
I've created a code example at https://runkit.com/embed/w8kknlcjgpxw where you can see the following code working
const { createSpec, faker } = require('@helpscout/helix')

const exampleSpec = createSpec({
  id: faker.random.number(),
})

console.log('NOT WORKING: ', JSON.stringify(exampleSpec.seed(123).generate(3)))

Which outputs: "[{\"id\":69646},{\"id\":69646},{\"id\":69646}]"
This is the same with any faker value - they're always the same.  So it looks like the seed is being reset for each generated fixture
In order to get around this, I'm just calling seed directly on faker like
import { faker } from '@helpscout/helix';

faker.seed(123);

I haven't tried debugging
But it looks like you're calling faker.seed(this.seedValue) in HelixSpec/index.js here
https://github.com/helpscout/helix/blob/master/src/HelixSpec/index.js#L80
(Which is pretty similar to my work around anyway)
But then on line 62 you're re-setting

@danielgent No worries at all!
I believe @knicklabs ran into this issue as well recently. We worked around it.. but yes, this should be something we should fix up :)
Thanks again for the heads up! Feel free to comment anytime 🤗

@danielgent Hiya!! The issue is fixed and was released in https://github.com/helpscout/helix/releases/tag/v0.1.2
🎉

Thanks a lot! That makes our tests much nicer


Update linear-classify.md

a typo error in line 176, 'to including' should be 'to include'

Thank you!


#449 Fix null ref when moving immediately to 'Review variants'  from …

…'Enter phenotypes'.
Adit, this fixes the null ref, but we still have a problem when moving immediately to 'Review variants'.  I'll submit a new issue to show the problem.

quarantest build successful. Demo link at
http://19adfaa5.quarantest.iobio.io

Right.  I should add that issue now.

@adityaekawade , are you seeing any new console messages when you switch back and forth quickly from 'Enter Phenotypes' to 'Review Variants'?  I can't seem to reproduce the problem I was seeing this afternoon (after I fixed this bug)

I saw the following vue warnings in the console. To reproduce: go directly "Review variants" after launching Clin, the screen should be still showing "loading files".

You won't see the console errors if you wait for a while before going to "review variants". Also once the variants have completed loading, you won't see the errors even if you switch back and forth between step 2 and step 3.

I just decided to test stage.clin and see if the issue exists on firefox.

The Vue warning is same but how is it pointing to a file which I suppose is a directory in your local machine??
---> <Home> at /Users/tony/work/gene.iobio.vue/client/app/components/pages/GeneHome.vue
The same error in chrome

Thanks for reproducing this Adit.  Do you think you could take a look at this today?

Yeah, I think I have a solution for this. I will be pushing it in a different commit. You can merge this PR.


Support JetBrains Rider IDE as an editor

Rider is JetBrains .NET IDE, which supports the React plugin identically to other JetBrains IDEs such as Idea and WebStorm.

@djpowell, does this IDE also need config files added to our template .gitignore files?

@djpowell  I'm confused - Rider is for working with dotnet solutions. Why would you use for working with CRA?
There is a more suitable Jetbrains product for this kind of projects - WebStorm and it is already handled correctly in this repo.

@djpowell I'm confused - Rider is for working with dotnet solutions. Why would you use for working with CRA?
There is a more suitable Jetbrains product for this kind of projects - WebStorm and it is already handled correctly in this repo.

WebStorm works great, but the React plugin that WebStorm uses is available to use from IntelliJ Ultimate, Rider, and JetBrain's other IDEs too.
I'm working on a Rider solution containing a C#/ASP.NET project for the server code, and a node project containing a CRA app.  This scenario was already supported with IntelliJ for Java, but not in Rider for .NET.

@mrmckeb Rider uses .idea for solution specific settings similar to other JetBrains products (https://www.jetbrains.com/help/rider/Directory_Based_Settings.html#project-level)


[20825] Include v2.6.8 release notes

Description

@Mergifyio backport 2.13.x 2.10.x

Contributor Checklist

[X] Commit messages follow the project guidelines.
N/A Code snippets related to the added documentation have been provided.
[x] Documentation tests pass locally.
[x] Applicable backports have been included in the description.

Reviewer Checklist

[x] The PR has a milestone assigned.
[x] The title and description correctly express the PR's purpose.
[ ] Check contributor checklist is correct.
[ ] CI passes without warnings or errors.

@richiprosima please test this

@Mergifyio backport 2.13.x 2.10.x


Feature Request: Add a yaml-key BC-ignore to completely ignore a note from picked up by Breadcrumbs

Context

@chrisgrieser I've added in BC-ignore as a field.
It currently works for most alternative hierarchies (not for Link Notes, for example). Give it a try and let me know if it covers your use case

tbh, I don't remember the original use case for it anymore, so I cannot tell whether it would cover my use case 😂 🙈 (so I am closing this)
But I guess it's still useful to many others, e.g. https://github.com/SkepticMystic/breadcrumbs/issues/207


Replacing innerHTML if 'el' is 'table' breaks all Internet Explorer

        // Render the View into the el property.
        view.el.innerHTML = options.render.call(options, contents, context);

If view.el is a table element, this will fail with "SCRIPT 600 Error : Invalid target element for this operation" on IE9 and below.
I have patched it in my copy by using jQuery's .html() function instead, but I am not sure that a jQuery dependency in this location is desirable.

What's the fix for this?

I updated the options to have an overridable html method.  This should fix the IE issue.


Refactor kyverno_policy_deployment_status_team aggregation metric

This refactor removes the need to a thrid query (app_operator_app_info)
which usually brings mismatching data (suffix -app missing from app
labels). In order to do that, uses the application_giantswarm_io_team
label, which is generally present in our workload.
This improves visibility as the team label now is filled in directly from the deployment information.
This still has the problem that the deployment needs to have this label. There are a few cases there is no label present (coredns for example); but that's due service monitors mostly.
This is what we can see for Cabbage in Grafana Cloud:

This is taken directly from one installation using the new rule (ignore the table format and colums, what it is important is the number of apps visible)

Signed-off-by: Matias Charriere<EMAIL_ADDRESS>Checklist

[x] Update CHANGELOG.md
[ ] Add Unit tests
[ ] Follow Alert structure
[ ] Consider creating a dashboard (guidelines) (if it does not exist already) to help oncallers monitor the status of the issue.
[ ] Request review from oncall area, as well as team (e.g: oncall-kaas-cloud GitHub group).

thank you. rebased to fix conflict.


fixes for refresher includes configuration system data - template ins…

…tances

will fix the conflicts

Also, can you add to the existing refresher_spec.rb...
 def assert_ems_counts
  expect(ems.configuration_profiles.count).to eq(169)
  expect(ems.configured_systems.count).to eq(the number you have in your test system)
end

and a new method named assert_specific_configured_system testing the attributes of a specific configured system similar to the logic in assert_specific_configuration_profile and call that just after assert_specific_configuration_profile on line 28.
In order to get the test to pass, you'll probably need to delete the existing VCR cassette then run the test (which will record a new one).

@blancett do you want some help resolving the conflicts?


Then if I customize routing sub-packaging, can I only use ManualChunks to handle routing sub-packaging?

Description

The picture above is my routing file. I hope to put two files into one chunk js file？This is a Vite packaged project
Then if I customize routing sub-packaging, can I only use ManualChunks to handle routing sub-packaging? i feeling a little troublesome
Suggested solution
Give some suggestions for Vite packaging, routing and subcontracting
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Please don't open these issues to continue questions or for support. Duplicate of https://github.com/vitejs/vite/issues/14563


DevNet k8s sandbox link broken

DevNet k8s sandbox link just takes me to the sandbox catalog. There no longer seems to be any k8s sandbox there :-(

Thanks for the feedback, seems like that sbx is not available anymore, so I've just removed the option.


build whl tensorflow 1.12 and not tensorflow-gpu-1.12

Hi
when I build the TensorFlow 1.12 from source with your script, after the building whl finished, created TensorFlow-1.12.2-cp36-cp36m-linux_aarch64.whl, and after the package installed and I run pip3 freeze, the terminal shows me tensorflow==1.12.2 and the before installed package TensorFlow-gpu==1.14.0+nv19.10 is also show me, why? are your scripts build the TensorFlow on CPU mode or GPU?

I think this is because the NVIDIA tensorflow package is named "tensorflow-gpu" and was not removed by sudo pip3 uninstall tensorflow.  You could check your installed python packages/modules by sudo pip3 list | grep tensorflow.
The fix should be simple.  Just do sudo pip3 uninstall tensorflow-gpu to remove the package which you no longer need.


add an HTTP server example

This adds another usage example to examples/.
It's quite a bit more involved than the existing example. It extracts trace context, instruments HTTP request processing, and injects trace context.

Caleb and I have already discussed this work, and I have his blessing to merge it.


Test user flows

Write test cases for registration, verification, recovery and logout.
Testing the OAuth paths will need a different approach and maybe only possible locally (see serlo/local-dev-env).

registration, verification and recovery are probably out of scope for this repo (opens the door for spam bots, needs e-mail mocking) - therefore closing this issue


Using the deploy command with an URL as input doesn't work

This has been broken since release of 2.7.0. We can't deploy from a URL.
bump deploy https://developers.bump.sh/source.json -d bump
    Error: ENOENT: no such file or directory, stat 'https://developers.bump.sh/source.json'
    Code: ENOENT

released in v2.7.1


Create LICENSE

Add a license to the repo.
cc @pierrepo @CVandiedonck @Scaburet Choosing "BSD 3-Clause License" as this is the one used by most Jupyter projects.
Let me know if you think we should choose a different one!

Yes, a BSD 3-Clause License is definitively a good option.


Better debug assert

I notice that there's an assert in theref to panic when label is either not found or defined in multiple place. I am wondering whether it is possible to print the name of the unfounded/redefined label in the assert message.

Also I edit a little bit to the ref to add hyperlink
#let thmref(label, fmt: nums => numbering("1.1", ..nums)) = {
  locate(loc => {
    let elements = query(label, loc)
    assert(elements.len() > 0, message: "Label not found!")
    assert(elements.len() == 1, message: "Multiple labels found!")
    let number = thmcounters.at(elements.first().location()).at("latest")

    return link(elements.first().location())[#fmt(number)]
  })
}

Also, I'm having a little trouble with the link formatting, in particular consistency. In the manual, I have a rule
show link: it => underline(text(fill: blue, it))

With the above version of the thmref code, this "blue, underline" style is being applied to the link references, but not ordinary @section references.

I have pushed changes to this effect; see this commit.

Oh this is even nicer, thanks!


WIP: Use JuliaSyntax to count things out of parsed source code

xref https://github.com/JuliaEcosystem/PackageAnalyzer.jl/issues/63
so far:
julia> analyze_syntax(PackageAnalyzer)
Dict{String, Int64} with 6 entries:
  "struct"   => 6
  "usings"   => 16
  "call"     => 593
  "function" => 53
  "imports"  => 1
  "exports"  => 7

Overall comments on this:

Having a well defined category precedence (eg, code > docstring > comment) would make categorizing lines easy. Given there can be multiple categories per line. (as in the comment about a two-pass system.)
The API for JuliaSyntax.SyntaxNode is ... honestly kind of WIP and not entirely awesome haha :grimacing: I feel like some additions to that could really help you here, though I'm not entirely sure what they should be.  Ideas welcome.

I've just thought of an upstream change that would help make this cleaner.
I'm planning to emit docstrings as nodes of kind K"doc" in the next version - this reflects the fact that it's special surface syntax, not an explicit macro call. (You can already detect this by detecting the special kind K"core_@doc", but I think emitting a K"macrocall" for this is one of those cases where lowering has crept into the parser a little.)


rejuving does not reset health alert

Description
title
Reproduction

bang stick 200dmg
rejuv
alert says still dead

Screenshots

Tested it, seems to be fixed now.


Add listener for formData error event

When sending multipart data, if I give a non-existent path or some filesystem error happens in readStream, request.on('error') doesn't receive any error. This causes process to exit non-zero.
If anyone could confirm that this should be fixed/improved, I'm going to open a pull request.

You mean there's an uncaught exception? We definitely should catch and pass these on.

Yes. There are no error handlers for formData, which happens to handle fs-level read.


EACCES: permission denied

I get the EACCES: permission denied message when my app is trying to access style.css.
I have defined a middleware in my express app to automatically generate the style.css from a style.sass. It works fine locally, but the server seems to block the access to the generated file.

app.use(
sassMiddleware({
/* Options */
root: __dirname + "/public/stylesheets",
src: "/sass",
dest: "/css_compiled",
// src: path.join(__dirname, 'public/stylesheets'),
// dest: path.join(__dirname, 'public/stylesheets'),
debug: true,
outputStyle: 'compressed',
prefix:  '/stylesheets',    // Where prefix is at
response: false,            // to write as files instead of into var
indentedSyntax: true    // to use sass
})
);

The filesystem should be only modified in the install and build steps.
And in npm run start or npm run now-start the filesystem is read only -- afterall, the deployments are immutable.

I also ran into this problem. I want to enable uploading image files to an api and serving them back, is that possible at all?

@MrLoh I need to know this too, doing the same, getting an error when trying to open the *.jpg file

After npm run build phase has completed, everything but /tmp is read only.

@jamo Trying to access some logs in /tmp isn't working for me. Any clue?
https://zeit.co/morgs32/morganatwork/bdgzvuhtit/logs

/tmp/ or tmp/ - the first should work while opening files for writing in the latter (tmp/) won't work.
One option would be to use os.tmpdir()


merge package template from Kronos-Tools/npm-package-template

Updated standard to latest version

Codecov Report

Merging #159 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #159   +/-   ##
=======================================
  Coverage   98.03%   98.03%
=======================================
  Files           1        1
  Lines         102      102
=======================================
  Hits          100      100
  Misses          2        2

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cd09575...4553875. Read the comment docs.


Create IPFS-friends-ethcc.md

Please add logo

The changes have been merged using the Pull request: https://github.com/memser-spaceport/pln-events/pull/351.
Closing this Pull request.


Cannot download certain movies if they have same seasonId and episodeId

Describe the bug
Can't download for example 1st movie of Fairy Tail Movies because it always downloads the second one.
To Reproduce
Try to archive the fairy tail movies
$ crunchy archive -o test.mkv https://www.crunchyroll.com/series/G4PH0WMN7/fairy-tail-movies

Expected behavior
Download both movies or let them be selectable via id eg [S2E0]
Client (please complete the following information):

OS: Windows 11
Version crunchy-v3.0.0-dev.13_windows

Additional context
Problem is that both movies are seasonId 1 and episodeId null maybe make them selectable via identifier [G4PH0WMN7|M1|E0] or [G4PH0WMN7|M2|E0] or via any other method.

I though Crunchyroll fixed all season numbering... well. As a fix you can pass the url of each movie to crunchy-cli. I have to see how I get around this issue.
E.g.
crunchy archive -o test.mkv https://www.crunchyroll.com/watch/G2XU03VG5/dragon-cry-german-dub https://www.crunchyroll.com/watch/GZ7UVXMEJ/

(the urls may differ for you, depending on your country)

Interactive choosing of season which duplicated numbers is now (re-)implemented in v3.0.0-dev.15.


Add 2.1 Introduction

@cutsort closing this as I copied in your contents from Slack myself before seeing your PR


Find matching SDK or kernel sources

Some repositories seem to contain Ambarella related SDKs or kernel sources; but is one available that is suitable for the processor used in the DJI Phantom 3?

https://github.com/ShawnOfMisfit/ambarella
https://github.com/AnsonLuo/e100_sdk_v1.2
https://github.com/mrtos/SS001_SDK2.6/tree/master/ambarella/oryx/services

The e100 one looks interesting. It seem to contain support of several SoCs in e100_sdk_v1.2/e100_sdk_v160707/vendors/ambarella/ucode.
The A9 used in Phantom 3 is not there, but its structure corresponds to many files found in P3 firmware.
Also, in e100_sdk_v1.2/e100_sdk_v160707/app/cardv/app/system there's a source of firmware updater - incredibly useful for learning how to repack firmware.

http://wpcdn.gopro.com.s3.amazonaws.com/wp-content/uploads/2016/12/linux.tar
Kernel used by GoPro Hero5. Contains code for A9.


Fastlane ruby version not found

🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.15

Ruby
2.6.5

Bundler?
false

Git
git version 2.21.0 (Apple Git-122.2)

Installation Source
~/.gem/bin/fastlane

Host
Mac OS X 10.15 (19A602)

Ruby Lib Dir
/usr/local/Cellar/ruby/2.6.5/lib

OpenSSL Version
OpenSSL 1.1.1d  10 Sep 2019

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode-beta.app/Contents/Developer/

Xcode Version
11.2

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
`./fastlane/Fastfile`
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
actions_path './custom_actions/'

default_platform(:ios)
xcversion(version: "10.1")
xcode_select("/Applications/Xcode.app")

platform :ios do
  before_all do
    # For fastlane match to work correctly, you must add setup_circle_ci to before_all in your Fastfile.
    # This ensures that a temporary Fastlane keychain is used.
    # setup_circle_ci
  end

  desc "Runs all the tests"
  lane :test_all do
    scan(
	  workspace: "trueyou.xcworkspace",
	  scheme: "trueyou",
	  device: "iPhone 8"
    )
  end

  desc "Submit a new Debug Development Build to TestFairy"
  lane :debug_dev_build do
    desc = "Beta Development Build"
    config = "Debug"
	dev_build(config: config, desc: desc)
  end

  desc "Submit a new Beta Development Build to TestFairy"
  lane :dev_sso_build do
    desc = "Staging SSO Build"
    config = "Dev SSO"
	dev_build(config: config, desc: desc)
  end

  desc "Submit a new Staging Development Build to TestFairy"
  lane :staging_dev_build do
    desc = "Staging Development Build"
    config = "Dev"
	dev_build(config: config, desc: desc)
  end

  desc "Submit a new Production Development Build to TestFairy"
  lane :prod_sso_build do
    desc = "Production SSO Build"
    config = "Dev Production"
	dev_build(config: config, desc: desc)
  end

  desc "Submit a new Development Enterprise Build to TestFairy"
  lane :dev_ent_build do
    desc = "Development Enterprise Build"
    config = "Dev Enterprise"
	ent_build(config: config, desc: desc)
  end

  desc "Submit a new Debug Enterprise Build to TestFairy"
  lane :debug_ent_build do
    desc = "Debug Enterprise Build"
    config = "Debug Enterprise"
	ent_build(config: config, desc: desc)
  end

  desc "Submit a new Production Enterprise Build to TestFairy"
  lane :prod_ent_build do
    desc = "Production Enterprise Build"
    config = "Production Enterprise"
	ent_build(config: config, desc: desc)
  end

  desc "Submit a specific config with Development Build to TestFairy"
  lane :dev_build do |options|
    config = options[:config]
    desc = options[:desc] || ""
    setup_circle_ci
	#match(type: "development", readonly: true)
    gym(clean: true,
    	scheme: "trueyou",
        workspace: "trueyou.xcworkspace",
        configuration: "#{config}",
        include_bitcode: true,
        export_method: "development",
        output_directory: "./output"
        )
    # Send build to TestFairy
    comment = generate_comment(configDesc: desc)
    deploySuccess = test_fairy(comment: comment)
    # Send line notify if success
    if deploySuccess
      #line_notify(comment: comment)
      slack_notify(comment: comment)
    end
  end

  desc "Submit a specific config with Enterprise Build to TestFairy"
  lane :ent_build do |options|
    config = options[:config]
    desc = options[:desc] || ""
    setup_circle_ci
	match_ent()
    gym(clean: true,
    	scheme: "trueyou",
        workspace: "trueyou.xcworkspace",
        configuration: "#{config}",
        include_bitcode: true,
        export_method: "enterprise",
        output_directory: "./output"
        )
    # Send build to TestFairy
    comment = generate_comment(configDesc: desc)
    deploySuccess = test_fairy(comment: comment)
    # Send line notify if success
    if deploySuccess
      #line_notify(comment: comment)
      slack_notify(comment: comment)
    end
  end

  desc "Sync certificates and profiles"
  lane :match_sync_all do
    ENV["MATCH_PASSWORD"] = "trueDMP1234"
    match(type: "development",
    	app_identifier: ["com.tdcm.trueyou.develop", "com.tdcm.trueyou"],
    	team_id: "6F43475LVW"
    	)
	match_ent()
  end

  desc "Match certificates and profiles for enterprise"
  lane :match_ent do
    ENV["MATCH_PASSWORD"] = "trueDMP1234"
    match(type: "enterprise",
    	readonly: true,
    	app_identifier: ["com.truemoveent.trueyou.beta", "com.truemoveent.trueyou.debug", "com.truemoveent.trueyou"],
    	team_id: "3RNQT8AN5J")
  end

  desc "Upload build to TestFairy"
  lane :test_fairy do |options|
    comment = options[:comment]
  	testfairy(
	  api_key: "2388d22d7d7d56b8950f7471e5a956b3b061b038",
	  ipa: "./output/trueyou.ipa",
	  metrics: [:cpu, :memory, :network],
	  options: [:shake],
	  testers_groups: ["trueyou_dev"],
	  notify: "off",
	  auto_update: "off",
	  comment: "#{comment}"
	  )
  end

  desc "Comment for build description"
  lane :generate_comment do |options|
  	comment = ""
  	configDesc = options[:configDesc]
  	if !(configDesc.nil? || configDesc.empty?)
  	  comment = comment + "#{configDesc}\n"
  	end
  	branch = branch_name()
    if !(branch.nil? || branch.empty?)
      comment = comment + "Branch name: #{branch}\n"
    end
    comment
  end

  desc "Get branch name from Git or CircleCI"
  lane :branch_name do
  	branch = "#{git_branch}"
  	if (branch.nil? || branch.empty?)
      branch = ENV["CIRCLE_BRANCH"]
    end
    branch
  end

  desc "Send line message to notify a new build from TestFairy"
  lane :line_notify do |options|
    comment = options[:comment] || ""
    app_version = Actions.lane_context[SharedValues::TESTFAIRY_APP_VERSION]
    app_url = Actions.lane_context[SharedValues::TESTFAIRY_APP_URL]

	UI.message(app_url)
    sh "./line_notify.sh #{app_version} #{app_url} '#{comment}'"
  end

  desc "Send slack message to notify a new build from TestFairy"
  lane :slack_notify do |options|
    comment = options[:comment] || ""
    app_version = Actions.lane_context[SharedValues::TESTFAIRY_APP_VERSION]
    app_url = Actions.lane_context[SharedValues::TESTFAIRY_APP_URL]

	UI.message(app_url)

   slack(
       message: "Build successfully uploaded to TestFairy.",
       payload: {
         "Build Date" => Time.new.to_s
       },
       success: true,
       slack_url: "https://hooks.slack.com/services/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",
       attachment_properties: {
           fields: [
               {
                   title: "App Version",
                   value: app_version,
               },
		{
                   title: "Description",
                   value: comment,
		   short: false
               },
               {
                   title: "Download URL",
                   value: app_url,
                   short: false
               }
           ]
       }
   )
  end
end

`./fastlane/Appfile`
# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app
apple_id<EMAIL_ADDRESS># Your Apple email address

team_id "63Z3KJVZ86" # Developer Portal Team ID

for_platform :ios do
  for_lane :dev_ent_build do
    team_id "3RNQT8AN5J"
  end
end

fastlane gems

Gem
Version
Update-Status

fastlane
2.134.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.3.0

slack-notifier
2.3.2

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.6.0

terminal-table
1.8.0

plist
3.5.0

multipart-post
2.0.0

word_wrap
1.0.0

public_suffix
2.0.5

tty-screen
0.7.0

tty-cursor
0.7.0

tty-spinner
0.9.1

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday
0.17.0

faraday_middleware
0.13.1

gh_inspector
1.1.3

json
2.2.0

mini_magick
4.9.5

multi_xml
0.6.0

rubyzip
1.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

jwt
2.1.0

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

memoist
0.16.0

os
1.0.1

googleauth
0.6.7

httpclient
2.8.3

google-api-client
0.23.9

digest-crc
0.4.1

google-cloud-storage
1.16.0

emoji_regex
1.0.1

nanaimo
0.2.6

colored2
3.1.2

claide
1.0.3

CFPropertyList
3.0.1

atomos
0.1.3

xcodeproj
1.12.0

addressable
2.7.0

babosa
1.0.3

excon
0.67.0

fastimage
2.1.7

dotenv
2.7.5

bundler
1.17.3

naturally
2.2.0

simctl
1.6.6

mime-types-data
3.2019.1009

mime-types
3.3

multi_json
1.14.1

signet
0.12.0

google-cloud-env
1.2.1

google-cloud-core
1.3.1

generated on: 2019-10-17

Please don't delete the issue template, but fill it. I have no idea what error you are getting, what command you are running an what the full output is - and I need all these things to be able to help you.


Can I have multiple functions in my script?

Can I have multiple functions in my script?

Yes!

Thanks :)


"Successful optimization!" message shows even when there are errored assets

Describe the bug
"Successful optimization!" message shows even when there are errored assets. Here's a log snippet:
[Error: ENOENT: no such file or directory, open '/home/ben/Projects/infra-config/website/out/out/_{
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/home/ben/Projects/infra-config/website/out/out/_next/static/media/goose-with-computer-da'
}
[Error: ENOENT: no such file or directory, open '/home/ben/Projects/infra-config/website/out/out/_{
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/home/ben/Projects/infra-config/website/out/out/_next/static/media/goose-with-computer-da'
Cache assets: 192, NonCache assets: 0, Error assets: 128
[Error: ENOENT: no such file or directory, open '/home/ben/Projects/infra-config/website/out/out/_{
Successful optimization!

To Reproduce

Make image optimization fail. In my case, I set basePath in next.config.js but didn't set it in export-images.config.js
Observe a successful exit status

Expected behavior
Expected the process to return a nonzero exit status when there are error assets.
Screenshots

Desktop (please complete the following information):

OS: Ubuntu 20.04
Browser: N/A
Version: N/A

Please share your configuration file.

It's been too long. We've iterated too many iterations to continue investigating this. Please feel free to close this issue.


Migrated to new Context API

Codecov Report

Merging #13 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #13   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines         381    382    +1
=====================================
+ Hits          381    382    +1

Impacted Files
Coverage Δ

dist/karet.util.cjs.js
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2e42af7...75db831. Read the comment docs.


Fix Handling optional DebtorAccount for payments initiation

Components
All
Task Story (optional)
As the TPP, I want to submit a payment consent providing the optional field DebtorAccount so that the debit entry will be made against that debtor account provided in the consent.
Describe the task
Description
For all Payment initiation the DebtorAccount is optional as the PISP may not know the account identification details for the PSU, but the PSIP could provide it.
For VRP initiation payment sweeping case the DebtorAccount is mandatory to identify the proper trusted beneficiary.
When the PSIP provides a DebtorAccount this debtor account needs to match with an account registered for the psu that has been redirect to approve o reject the consent, so that the user interface where the consent is displayed needs to display a existing psu account, to comply with that case:

The PISP DebtorAccount needs to be validated against the user accounts
If the DebtorAccount identifiers don't match with an user account, the consent needs to be rejected.
If the DebtorAccount identifiers match with an user account the RCS-UI will display this account

Test coverage
To test that case will be necessary to know the accounts registered for the user used to perform the tests for positive testing, it means that we need to design a solution to retrieve the user data from the platform before run the functional tests coverage and postman coverage.
Acceptance criteria

The debtor account is validated against user accounts.
If debtor account exits, is displayed in the RCS-UI.
If debtor account doesn't exist the consent is rejected.
Test coverage

Additional Context (optional)
No response
Code solution approach (optional)
No response

Hey team! Please add your planning poker estimate with Zenhub @frlaura-jianu @mariantiris


Use monospace font in githook editor

Before:

After:

Unfortunately, there was no fitting semantic ui rule, so I had to add a custom one.

LGTM

LGTM


Revert "Remote Fetch Feature"

Reverts wso2/product-is#7941
Due to Jenkins build error.

Duplicate of https://github.com/wso2/product-is/pull/8062


refactor: [M3-8815] – Migrate TextField component to ui package

Description 📝
Migrate TextField component to ui package.
Changes  🔄

Migrate TextField component to ui package
Migrate convertToKebabCase utility to ui package (to avoid having manager be a dependency of ui)
Migrate Plus icon to ui package

Target release date 🗓
12/10/24
How to test 🧪
Verification steps

All tests should pass
There should be no regressions observed in Cloud
TextField story in Storybook should be in good shape

As an Author, I have considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿  Providing accessibility support

[X] I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

[X] All unit tests are passing
[X] TypeScript compilation succeeded without errors
[X] Code passes all linting rules

@dwiley-akamai This looks like it will need a rebase on develop to make CI happy; Alban fixed the issue here.


Fix MifareDesfire_WriteDataAsync:

EncryptionMode byte added to transferred data

Note:
Im using TWN4/B1.62/CCF4.80/PRS1.04
BIX 4.80
Please ensure this is not caused by version mismatch.

Whoops. Thank you for contributing here. As i was reviewing this, i recognised "createFile" is also missing the cryptomode byte... i will look after that right away

Interesting, i was using createFile without Problem. Desfire Docs are sparse and hint at this byte only being required with encryption, yet i testet multiple times and it seems the byte is required with and without. I'm not sure, but i guess it's reader firmware stuff.

with createFile, i only used unencrypted mode tho. maybe the reader adds the byte here and doesn't on writeData, maybe Desfire can handle one and not the other. I'll run some tests and if I find someting interesting, ill let you know!
Thanks for merging, and a big thank you for your work!

Interesting, i was using createFile without Problem. Desfire Docs are sparse and hint at this byte only being required with encryption, yet i testet multiple times and it seems the byte is required with and without. I'm not sure, but i guess it's reader firmware stuff.

No, i responded too quickly because of an old method signature in my test application. There, a encmode byte was given for no reason. i realized this later when reading the reader docs. thus, i deleted my comment.


Extract PTM descriptions from Unimod

Bo pointed out that we could extract candidate PTM identifications from Unimod based on the observed delta mass. This would make CONGA much more useful to the end user.

Not saying you shouldn't do this, but Limelight will basically do this for you--it links out to Unimod for open mod masses (rounded to some scale). Part of the challenge w/ unimod is that, depending on the scale of your rounding, you will match different mods. And with open mod masses, since they include the error from the ID (entire delta mass being considered a mod), you won't ever exactly match anything in unimod.

Yes I had wondered if Limelight did this already anyhow, but have been meaning to ask you about that Mike. Thanks!


(python3) Check whether pip is installed

Expected Behavior
Sometimes, when python is already installed, running the installer would simply do nothing and just report that it was already installed. Now, this causes some problem,the pip(the package manager), is installed by default when it is installed first. But that can be uninstalled or the user can install it manually without it which causes problem. The problem occurs only when user previouly installed python.
Now, not having pip would lead some packages to fail which depend on it. (for example manimce), it tries to call pip but it wont be there and fails the installtion. This can be fixed if this package checks and installs it if it doesn't have it. This can be done by running a small python script. REF: https://pip.pypa.io/en/latest
/installing/
Current Behavior
Doesn't check whether pip is installed.
Possible Solution
The installtion should run a small python script located over https://bootstrap.pypa.io/get-pip.py on completing installation.
Context
Many packages which depend on pip would fail if it is not installted.

If it is ok can I do a patch? Get the file from https://bootstrap.pypa.io/get-pip.py then run it. I don't think they follow checksum things.


Some notes on the new changes

Typo on the About DataPLANT page:
Should be "partners" with an "s".

Clicking on a link in the TOC jumps a bit too far?

->

Should this be a link to website?

Missing closing bracket:

No content yet or component missing?

"task area leads" without the s after area

Also different upper and lower casing between "Focus Area Leads" and "task area leads"

Link to arc-registry?

This is outdated, will close for now!


WSL2 causing "bluescreen" on W11

Windows Build Number
22000.65
Quick Hardware Info :
CPU : AMD FX 8320
RAM : 16 GB of DDR3
GPU : AMD Sapphire R9 290
WSL Version

[x]  WSL 2
[x]  WSL 1

Repro Steps
When trying to install a distrubution, a bluscreen/greenscreen errors occours.
Explanation of the issue
Hello,
I wanted to try WSL2 on my computer, however I encounter a problem that I can't fix. As soon as the installation of a distribution of my choice starts (whatever it's Ubuntu or Debian or something else..), the computer freezes and then displays a "bluescreen".
I have tried to activate WSL by several means, by hand by adding the functionality, by command line, however the result is the same.
By curiosity I also tried with WSL 1, this time it works but makes the system very unstable, freezing and blue screen "HYPERVISOR ERROR" after a while
I also noticed something weird form the device manager :

Here is some picture of the bluescreens :
When using WSL 1 :

When using WSL 2 : (the screen was before i join back the insider program)

Thank for your help

@totalgaara can you please take a Feedback Hub logs here on your machine and post the link to the Feedback Hub item here? This will help us determine what's going on.
/logs
Could you also please attach the C:\Windows\MEMORY.DMP file to the FeedbackHub item?

Hello, Thank you for your answer
Unfortunately, I don't have any files that I can provide because they are not present on the system.
When a bluescreen occurs, the computer freezes completely and the BSOD status remains blocked at 0% even after 10 minutes, forcing me to shut down the computer so I think that unfortunately the dump does not occur
I have some news however, I saw that the AMD FX had this problem at one time, it concerned a problem with the AVX instructions as far as i could understand
This command allowed to disable them if I understand well, something I did by typing :
bcdedit /set xsavedisable 1
and this time the installation that it is in WSL1 or 2 of a distribution becomes possible without that the computer does not crash... at least it does not have BSOD during approximately 3 hour. Unfortunately the problem continues in spite of this light improvement
I've made a Insider Hub feedback for that, but unforurtunaly, i can't provide dump :/
https://aka.ms/AAd6s1o
Thanks for your help :)

That's helpful! If you ever do get a dump please file it as a feedback hub item, we'll take a look at what you provided. Thanks!

I got it ! I've send it to my feedback hub link  :)

Hello,
I have a second error code that could help solve the problem, at first I thought it was not related to the use of WSL but forced to note that when the virtualization is disabled I do not encounter "Hypervisor_error" or "CLOCK_WATCHDOG_TIMEOUT"
This morning I activated the virtualization, I was able to use WSL during approximately one hour before having this new error code forcing me to deactivate the virtualization again because with the reboot I had immediately after connection a freeze of the system
I have published the dump on the comment hub and also on my one-drive link above (just in case)
Kind regards :)

@totalgaara I've downloaded those files, could you please remove them from OneDrive (just to be safe on the security side :) )
I've also made sure that the Hyper-V team has these files available to take a look. Please let us know if you keep seeing this and if you find any work arounds. Thank you for your help here!

Hello,
I did remove the files from my Onedrive :) Thanks again for your answer.
Unfortunately the problem continues and I can't really find a solution on my side, I have the impression that I have done everything possible, reinstall the graphics driver, try with an older version, I did the same thing with the driver of my network card because I saw on some forums that some Realtek cards were a source of problem, unfortunately not in my case, I also installed the driver manufacturer of my motherboard for the USB ports
I also tried to disable the maximum of features in the bios to try to isolate the problem, but again it is not conclusive, the problem continues.
I have the impression however that it is not the WSL module that is at fault but more "Windows hypervisor platform".
I understood that the Windows hypervisor was of type 2, so to make some tests. :
I temporarily unchecked the functionalities necessary for the operation to install a proprietary hypervisor (VMWare) which is also of type 2, with this one I didn't really have any BSOD except for 1 which concerned "VMWare USB Arbitration Service" so this is the one which gave me the idea to update the USB driver using the one by the manufacturer of my motherboard (Gigabyte).
Of course I'm still mainly motivated by the use of WSL so I also proceeded to a complete system check:
sfc /scannow : No integrity problem detected
DISM /Online /Cleanup-Image /CheckHealth : No problem
DISM /Online /Cleanup-Image /ScanHealth : No problem
One interesting thing about my brother's computer, it has a perfect copy of my configuration except for my motherboard which is slightly different
Mine is :
CPU: AMD FX 8320
GPU : AMD R9 290
MB : Gigabyte GA-970A-DS3P FX
North Bridge: AMD 990FX
South Bridge: AMD SB950
My brother's configuration :
CPU: AMD FX 8320
GPU: AMD R9 290
MB: Gigabyte GA-970A-DS3P
North Bridge: AMD 970
South Bridge: AMD SB950
My brother does not participate in the Windows Insider program, so it is currently under Windows 10 I have with his permission tried to use WSL on his computer and he has no problem, everything works normally, I have for example in no need  to enter the command
bcdedit /set xsavedisable 1
While on my configuration, if I do not enter it, the BSOD is immediate when i try to launch Ubuntu or something else
I hesitate therefore that to eliminate some doubt possibly make a dualboot with Windows 10 and see if with I have the same problem?
It is probably the tests that I will make today and give some feedback :)
Thanks again

Hi @totalgaara I brought this to the attention of the Hypervisor team. From the memory dump we identified that this is a hardware issue with your processor. We would recommend that you contact AMD to ask them why the IOMMU flushes timeout on this system and see if they can resolve you. Since this is hardware related, we don't have a way of solving it directly on the WSL team so I'll close this issue out for bookkeeping purposes. Thank you for filing this feedback for us!

@totalgaara Did you find the way to fix it? I'm getting something similar with Hyper-V and WSL and I have similar configuration: AMD FX-8150 and Gigabyte GA-990XA-UD3. I also saw a lot of similar issues on Microsoft-related resources, but common solutions like disabling IOMMU, USB3 support or bcdedit /set xsavedisable 0 aren't working for me. Did you get a chance to somehow get virtualization working with Windows 11?


Hide buttons until user wins or forfeits

The Play again and quit buttons should be hidden until the user either wins the game or forfeits.

I've merged a PR that shows/hides the buttons. Before I close this issue, I'll accept a PR that merges the two methods into a single method.


Signing out of one account and then in with another, still uses original account

Describe the bug
Using nightly build, signed in to a personal account. Then signed out, then back in with a work account. Once all the auth seems to work, it still shows the previous personal account signed in.
Version
Version:  2.0.0-nightly.260493.e017820
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0
OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Create a bot
Sign in on one account
Sign out
Sign in to another account

Expected behavior
Should display and use correct, newly signed in account.
Screenshots

No longer reproduces after update
Version:  2.0.0-nightly.260493.e017820
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0


gnome-user-docs: 41.1 -> 41.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for gnome-user-docs is: "User and system administration help for the GNOME desktop"
meta.homepage for gnome-user-docs is: "https://help.gnome.org/users/gnome-help/"
meta.changelog for gnome-user-docs is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 41.2 with grep in /nix/store/7abjsx10rqsqvd8lr08m9lqs3rg1lvs6-gnome-user-docs-41.2

found 41.2 in filename of file in /nix/store/7abjsx10rqsqvd8lr08m9lqs3rg1lvs6-gnome-user-docs-41.2

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
gnome-user-docs

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/7abjsx10rqsqvd8lr08m9lqs3rg1lvs6-gnome-user-docs-41.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gnome-user-docs https://github.com/r-ryantm/nixpkgs/archive/3c3de9f5dd46a6d8e42c297a85beaebf8b550d85.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7abjsx10rqsqvd8lr08m9lqs3rg1lvs6-gnome-user-docs-41.2
ls -la /nix/store/7abjsx10rqsqvd8lr08m9lqs3rg1lvs6-gnome-user-docs-41.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

gnome-user-docs

Maintainer pings
cc @hedning @jtojnar @dasj19 @maxeaubrey for testing.

@GrahamcOfBorg eval


Support multiple NGINX Ingress Controllers per tenant cluster

As of Wed, 27. May 2020, supporting multiple managed NGINX Ingress Controllers is not in our near-term plans. Customer can run their own NGINX IC alongside Giant Swarm's. We will update this doc https://docs.giantswarm.io/guides/services-of-type-loadbalancer-and-multiple-ingress-controllers/#multiple-ingress on how to properly do that.

As a user, I want to be able to run at least two (is there a max.) NGINX Ingress Controllers within a cluster, so I could separate the app's responsibilities between external vs internal.
As a user, I want to be able to run at least two (is there a max.) NGINX Ingress Controllers within a cluster, so that in big clusters, I could separate the app's responsibilities between dev and prod.

This was implemented. Docs https://docs.giantswarm.io/guides/multi-nginx/


External services for managed servers

The requirement is to make individual managed servers externally visible using NodePort-type Services, similarly to what is currently offered for the administration server.
The current support for the administration server includes:

Operator always creates a ClusterIP-type Service for the administration server that includes ports for all of the various "default" channels and all network access points
The ports on this internal Service match the ports on the Pod
Customer can specify Domain resource content under spec.adminServer.adminService that controls the optional creation of a second, "external" Service with type NodePort.
This second NodePort-type Service  includes a selected set of ports depending on what the customer has configured in spec.adminServer.adminService.channels

The current support for managed server instances includes:

Identical support for a ClusterIP-type Service with ports matching those on the Pod
No support for an external, NodePort-type Service
No Domain resource schema analogous to spec.adminServer.adminService

We must define Domain resource schema and matching implementation such that is possible to create external services for each managed server instance, e.g. spec.managedServers[*].externalService.
However, we believe this will not be sufficiently usable.  The problem is that what is implied by the above will result in lots of duplicate content (since all of the managed servers in a cluster will want to expose the same set of channels) and because customers will be forced to configure the NodePort values for every managed server instance.  Therefore, we believe that this functionality requires the ability to specify configuration of a range or pattern for NodePort values of the managed server members of a cluster.  This configuration would be at the cluster-level.
This functionality is complete when:

Changes to schema are reviewed and agreed
Implementation including unit-tests
User documentation updated

Could this be achieved with a boolean at the cluster level for allowing a cluster IP on managed servers, instead of a service with an cluster IP set to none? Then access could be available within the cluster, or  added to an ingress.

In other words a second set of managed server instance services with Cluster IP: xx.xx.xx.xx

@rjeberhard @mriccell Is there an internal JIRA tracking this? If, so please add it here.

I'm assuming the issue is resolved by now: from what I can tell, it may have been left open by Ryan as a reminder to enhance the documentation.  Feel free to re-open the issue if I'm incorrect.
@rjeberhard FYI

Oops, that last comment, and the 'close' was in error (they were meant for a different Issue).  Re-opening.


OpenCellId

http://wiki.opencellid.org/wiki/Main_Page

TL-DR; Unwired Labs has taken over maintainership of OpenCelliD. The main website will be down till 12AM GMT on Thursday 20th April while we set things up. Registrations are paused, but all APIs are functional.

So I tried using this back-end using their token...
Didn't work; Incorrect API Key

I am not getting anywhere either, can't build a database even with my new api key

I am also unable to set the API key. I get "The given API key is incorrect. Enter a valid one (or disable the OpenCellID data source)." when I try to enter my token.

The download URL needs to be updated:
Old URL EG:
http://opencellid.org/downloads/?apiKey=a12b3456-7cd8-901e-2345-67fa8bc90de&filename=cell_towers.csv.gz
New URL EG:
https://download.unwiredlabs.com/ocid/downloads?token=a12b3456-7cd8-901e-2345-67fa8bc90de&file=cell_towers.csv.gz

Thanks for fixing this, it works again

I'm not able to set the API Key: "The given API key is incorrect. Enter a valid one (or disable the OpenCellID data source)."
LocalGsmNlpBackend 1.4.14
LineageOS 14.1

@KarmaMonk  - The new OCID people may well have changed the format of their API key which might break the validity checker. I know my several year old key works, but maybe the new ones are different. Could you send me a private message with the API key you are trying to use and I'll see what the issue is.


Use % for percentage in string format

Change Summary

Related issue number

Checklist

[ ] Unit tests for the changes exist
[ ] Tests pass on CI and coverage remains at 100%
[ ] Documentation reflects the changes where applicable
[ ] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)

Looks good to me.
Please add a change description and make sure tests are coving this case.

bump

@EdwardBetts any chance you could finish this?


(maint) Fix relative path of presuite_certcheck

Codecov Report

Merging #122 into puppet6 will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           puppet6    #122   +/-   ##
=======================================
  Coverage     5.76%   5.76%
=======================================
  Files          174     174
  Lines        20700   20700
=======================================
  Hits          1194    1194
  Misses       19506   19506

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2fcfd67...758d949. Read the comment docs.


Fix startup websocket race

These two patches solved a problem I was experiencing when doing:
ssh -i [key]<EMAIL_ADDRESS>docker logs -f [container] | ./goaccess -o report.html -a --log-format=COMBINED --real-time-html

The root cause is that the primary thread runs before mkfifo() is called.  Running goaccess under valgrind or "strace -ff" was usually enough to get it working, but this patch fixes this race condition.

Merged. Thank you!


Proper use of SDO client? eg. ok to use it from callbacks generated by CO_epoll_processMani()?

Hello.
First off I apologize for having to take anyones time to help out here. I've done a ton of source code and doc reading and want to contribute improvements here if there are any.
We've got a CON linux master with several nodes.
This is configured for multi-thread, so we have RT (calling CO_epoll_processRT()) and background thread (calling CO_epoll_processMain()).
Is it expected that the SDO client functions can be called from a 3rd thread, or is it ok if it is called as a part of a callback generated by the background (processMain) thread? It's clear the SDO operation will block the CO_epoll_processMain() for a while (btw how long should the timeouts be here?), so I wanted to confirm it was ok to do so. We are using a timeout of say 200ms for the SDO with a delay of 50ms before we retry in case anything fails. With 3 retries, our max, we could block processMain()/background thread for ~800ms.
Regards,
Chris

The reason I ask is that this seems to indicate we shouldn't block the main processing and I'd presume that applies to blocking due to SDO client calls in the callbacks as well:
/**
 * Function is called cyclically from main().
 *
 * Place for the slower code (all must be non-blocking).
 *
 * @warning
 * Mind race conditions between this functions and app_programRt(), which
 * run from the realtime thread. If accessing Object dictionary variable which
 * is also mappable to PDO, it is necessary to use CO_LOCK_OD() and
 * CO_UNLOCK_OD() macros from @ref CO_critical_sections.
 *
 * @param co CANopen object.
 * @param timer1usDiff Time difference since last call in microseconds
 */
void app_programAsync(CO_t *co, uint32_t timer1usDiff);

which is fine, we can certainly shift the SDO client usage over to another thread, but wanted to get input before making that change.

To wrap this one up for anyone reading this:
Linux, CanOpenNode RT + CanOpenNode main processing threads is how we are using the stack.

It is not ok to call SDO functions from RPDO change callbacks (in our case we have a RT and background threads separate). Calling SDO functions from RPDO change callbacks blocks message processing.
We marshal all events to a background thread so we do not perform SDO operations from the main processing thread either, but it appears from inspection that its ok to send SDOs from main processing callbacks, eg. NMT, HB etc.


Use types instead of identifiers for make expressions

https://github.com/ReCT-Lang/nrc/blob/main/src%2Fparser%2Fnodes.json#L74-L77
Using actual type references here will cover more occasions than just an identifier, for example, if the type has generics or if it's inside a namespace

Identifiers may have generics namespaces and so on and so forth. An identifier is just anything which identifies anything, such as package_name::SomeGenericType[void] or string


Develop

This is a fix to a bug that was discovered around the sticky filters.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 3 (33.33%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 63.15%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

compass/context_processors.py
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.06%

Covered Lines:
1981

Relevant Lines:
3137

💛  - Coveralls


Feat:Light and dark toggle

Describe the feature
I would like a light and dark toggle to enhance the feature of the app
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@anwesha2002 Issue assigned to you


Simulator not playing sound

I'm having issues with AudioKit not playing any music in the simulator, is there any tricks to this ?

No tricks.  Please provide a bit more information so the issue can be made actionable.  For instance, which project are you trying to run?

I was trying to run the blaster example with a aiff with a music file, the blaster sound works but not the music one.

What was the file format and size of the music file?

I am using a dynamic library from AudioKit to playback audio samples for this music app i'm working on. However, when following the tutorial for sample playback from AudioKit.io I am getting these errors.
0dBFS level = 32768.0
Csound version 6.05 (float samples) Sep 18 2015
libsndfile-1.0.26pre6
2015-10-25 22:30:02.544 TestPrg1[29291:738144] 1 MIDI sources

2015-10-25 22:30:02.546 TestPrg1[29291:738144] MIDI source 0: Session 1
0dBFS level = 32768.0
Csound version 6.05 (float samples) Sep 18 2015
libsndfile-1.0.26pre6
2015-10-25 22:30:03.614 TestPrg1[29291:738168] 1 MIDI sources
2015-10-25 22:30:03.614 TestPrg1[29291:738168] MIDI source 0: Session 1
2015-10-25 22:30:04.574 TestPrg1[29291:738168] ***Failed to disable audio input.
2015-10-25 22:30:04.575 TestPrg1[29291:738168] ***Failed to enable audio output.
2015-10-25 22:30:04.620 TestPrg1[29291:738170] Csound Error: INIT ERROR in instr 1:
2015-10-25 22:30:04.620 TestPrg1[29291:738170] Csound Error: Invalid ftable no. 2000.000000
2015-10-25 22:30:04.620 TestPrg1[29291:738170] Csound Error:
2015-10-25 22:30:04.621 TestPrg1[29291:738170] Csound Error:  - note deleted.  i1 had 1 init errors
2015-10-25 22:30:04.621 TestPrg1[29291:738170] Csound Error:
Csound tidy up: Terminated
(lldb)
It appears to be a problem with the underlying Csound library that audiokit is built on top of. This is however beyond my paygrade. Has anyone experience with AudioKit or Csound who could point me in the direction of solving this?

This is not really an error log, but the line "Csound Error: Invalid ftable no. 2000.000000" seems to state that it never loaded your audio file. Can't really tell you more unless I had the project in front of me.

Is there a way we can connect? on google/hangout or call? i can show you my project?

Sure.  Or I can invite you to screenhero.

That will be great, can you please send the invite

Send me your email address to<EMAIL_ADDRESS>

Thank you


Build onion messages

Build onion messages and routes for onion messages. Also make blinded paths mandatory when building offers as we are a wallet hidden behind a trampoline node.

I've merged your refactor, thanks.


Add medal processor

PRing ahead of adding proper testability (currently looking at updating tests to user a more portable means).
Currently only processes a minimal subset of medals, but is designed to be modular and performant enough to handle all existing medals.

[x] Depends on #110
[x] Depends on #114

I'm still continuing forward work on this, but also believe this PR is in a good state to be reviewed and potentially merged.


Conditionally use stdin according to HAVE_UNISTD_H macro

This fixes the build error on the platform which doesn't supprot stdin.

Coverage increased (+0.2%) to 95.613% when pulling a49d0bc2ccea1b1d95c5abe7a77a8bf499a2ef70 on changab:json_loadf_stdin into fd3e9e3051fa17d293db7974863d84b512457528 on akheron:master.


Added data for EO 1-100

Edited and Added Mob data for EO 1-50. Added Mob data and EN localization for EO 51-100. Updated EO 1-100 Floor data with info I find useful. Mob Data based on personal experience, Maygi's guide, and Meifa's EO QuickRef spreadsheet.
First time doing a pull request, so I hope it helps!

Please redo your pr to use the newest data commits as these have conflicts

Sorry about that, I didn't see your latest commits. I think the conflicts have been resolved and it should be able to be merged.