Google API Keyfile

Hello!
I'm trying to use Google Speech Voice Recognition but having trouble setting up.
I created the API key and got the json file from Google Cloud.
When I try to specify the path for the json file in "Google API Keyfile" box in Configure, it says "Pleae enter a URL".
It prevents me from saving the file path.
Is there any step I need to take after getting the json file from Google? Or it has to place in a certain file location?
This is my first time using Google API keyfile so I must have missed some elementary step.
Any advice I will appreciate it.

Hi, normally when you click in the "Google API Keyfile" text box a file browser dialog should open to allow you to select your key file. Is this dialog somehow missing?
An alternative is to name the file google-api-key.json and place it directly in the odas_web directory and use the default settings.

Yes, the file browser dialog pops out.
So I think it was set as the file path then, even though it says "Please enter a URL"
In the transcript box in the Recording window, when I hover over the WAV file,
it says "Couldn't process".
It seems to affect client connections too. It eventually all close.
If I re-launch ODAS studio, port 10000(separate) and 10010(postfiltered) get the error to connect.
If I turn off google-API-keyfile in the Configure window then it can read all ports normally.
I think my keyfile is not accessing properly somewhere.
I tried different computers/networks/OSs to see the differences but the results were the same.
I tried your suggestion as well (renamed to google-api-key.json).
I need google-speech-to-text API right?
To get the keyfile, I clicked "create key" and chose "JSON" form, and then it was automatically downloaded.
Is that the same steps as yours?
Are you using Ubuntu? Any network change do I need to?
Thanks for your help.

It seems that the speech recognition indeed can't connect, which leads to app blockage, preventing audio sink and closing ODAS disconnecting all the client connections. Do you have the terminal output of ODAS Studio?
I am indeed using Ubuntu, but it has been years since I made this app and I don't remember the steps to get the key. However it is the Google speech to text api.
No network change that I know of, except of course being able to reach Google.

Yes I see the terminal saying like:
"Recorder 0 started
Recorder 0 was false active
Recorder 0 ended"
(Silent data)
"Registering header on recorder 0
Registered header on recorder 0
Recorder 0 undefined"
(Voice data)
The validation error message "Please enter a URL", it seems like it is coming from HTML5 error checker.
The audio ports will be interrupted as soon as I hit the save button along with checking  "Use Google Speech Voice Recognition".
What do you think about this? How can I add code like this?
https://stackoverflow.com/questions/6536381/input-type-url-says-please-enter-a-url-if-http-is-not-included
I'm not good at html/css/javascript at all but I wanna troubleshoot on configure.html section.
Thanks

"As soon as I hit the save button..." was not true.
After save the path and close, the connections disrupt when the recording is on.
On terminal, it says:
"Write stream 0 is full
Holding samples..."
Then it loses the connections.
After that, I get the following messages.
Recorder 0 ended
Registering header on recorder 0
Registered header on recorder 0
Recorder 0 undefined
[ { alternatives: [ [Object] ],
    isFinal: false,
    stability: 0.009999999776482582,
    resultEndTime: { seconds: '0', nanos: 500000000 },
    channelTag: 0,
    languageCode: '' } ]... so on

Look at ids configure-form and api-keyfile-input elements in configure.html to experiment with the url thing.
Are you trying to do configuration changes while ODAS is running? I suggest you don't and finish the configuration before starting ODAS. What sample rate are you using? Are you on good hardware with a reliable internet connection? The blockage looks like a performance problem where the app can't process/upload the audio streams fast enough.

Ok, I will try for url thing.
I'm using 16K fs and my computers are indeed old, optiplex380, and 2010 macs(ubuntu on mac). I tried with ethernet cable but the same issue.
My mic-array is matrix-creator with Pi remotely controlled by any of the above systems. Pi is fine running odaslive unless I stop talking for while.
What system do you use or suggest? So that maybe I can try getting similar systems.

Okay 16K should do it.
If I remember the machine I used while coding this it had a quad core clocked around 2.5 Ghz and 8 go of RAM, but that's only what I have on top of my head. As I said try not changing the configuration while ODAS is running, this is untested use case and may lead to problems.

Thanks for the information.
All of my systems have at least 8G RAM and more than 2.5Ghz but I gotta get rid of dual-core macs, they are too old.
Google says you have to set env variable path for the API key so I did and also I tried not to change config during the running as you said but the results were the same.
I think the possibility is narrowed down to API system changes and url thing.
I will keep troubleshooting and focusing on those.
Thanks

Quick question. Why you have 4 audio-recorders for 8ch tcp audio data from odaslive? Or do I understand wrong?
It looks like odaslive is sending 8channel of 2bytes data.
When you receive the bytes stream data at odas_web side, therefore you slice the data into 2bytes per recorder but it won`t conflict like:
recorder[0] mix with ch0 and ch4
recorder[1] mix with ch1 and ch5
and so on?
My recording is working and I don`t notice any strange sound from those WAV files so I just wanna know how the data is coming and what your intention for the number of recorders to slice them.

@nacho-bodega there is actually two sets of 4 recorders. 4 channels of separated audio are coming on one socket processed by one node process with 4 recorders and 4 channels of post-filtered audio are coming on another socket processed by a separated process with 4 other recorders.
If you look at the code, main.js requires record.js which spawns two node process with recordings.js, but passing a different wav file suffix and port number.

Ah that's right, I was talking about 'sp' only.
I confirmed that "msg_hops_config->nChannels" is actually 4, I thought this was 8ch.
I then wonder where the initial 8ch config setting changes into 4ch during the "aobjects_construct(...)" process in main.c.

N_inactive in sst configuration file set the number of nChannels, which is 4.
I guess this is the computation saved method used in the main algorithm.
Thanks, I'm getting clear now

In the SSL section of the config file, nPots entry specifies the number of potential sound sources that can be tracked by ODAS. Each potential source is either active or inactive. Each source gets its own channel in both the separated and postfiltered audio as well as its own tracker. The corresponding recorders are started and stopped according to the activity state of the sources computed by the tracker.
If I remember right I didn't build ODAS Studio to handle anything else than 4 as an nPots settings, so I advise against changing it if you want to use the GUI.

I see, indeed you only need a few active audio data.
node is a little tricky for me so I'm imitating the server with python right now.
I'm having difficulty converting tcp bytes into WAV, not successful so far.
Right now, if I record sound at Pi client-side, then I can receive the WAV file at the local PC (just a WAV file transfer).
Or without recording, I can do VoIP like sending straight mic-array sound to the local PC and directly listening to from the PC's audio output.
I'm trying to test "tcp->WAV->google-api" first because I know "WAV->google-api" works.
And then I will try "tcp->google->WAV" next.
If I understand correctly, it seems like odas_web is doing "tcp->google-api->WAV" so.

Not quite. odas_web receives audio data trough TCP then it is pushed to Google and saved to WAV file in parallel.
Data is saved here  and pushed to Google here.
A WAV file is just raw data preceded by a header indicating the data structure (sample rate, bit depth, channel number, etc.). Google gets those informations from a json config passed with the request to the API, then it receive the same data that is written to te body of the WAV file. Note that the WAV file header must be updated when the recording finishes because it contains the file length.

Even though it says "fazzy", it is very sophisticated to me.
I haven't found out the exact spot but it seems like there is some congestion between google and WAV processes in nodejs.
This is slower but finally I could make "tcp-->WAV-->google" server working in Python, and it is stable for what I need. I may go with Python for now and hook it up with some ML models.
Thanks for your advice.

Just to clarify, "fuzzy" transcriptions are transcriptions that are processed live, but that the recognition algorithm is still unsure about. It is useful to display a GUI that shows the live transcription then save the non-fuzzy one, but I would suggest you disable it if you want to feed the data to a model. Please note that fuzzy may contain the same portion of speech multiple times.

Oh I'm sorry, I didn't mean to. I misunderstand the word and the algorithm is very sophisticated.
I definitely learned a lot from your codes.


Fatal error in Zend\Mail\Message::fromString when "Received" header contains tab character

Message::fromString crashes with "Invalid header value detected" when "Received" header body contains a (horizontal) tab character. Reason for that is, that HeaderValue::isValid returns false when validating such header. If you look at RFC2822, the ABNF is:
received       =  "Received:" name-val-list ";" date-time CRLF
name-val-list  =  [CFWS] [name-val-pair *(CFWS name-val-pair)]
CFWS           =  *([FWS] comment) (([FWS] comment) / FWS)
FWS            =  ([*WSP CRLF] 1*WSP) / obs-FWS
WSP            =  SP / HTAB
SP             =  %x20
HTAB           =  %x09

HTAB is allowed here. I could reproduce with version 2.5.1 using this example:
$message =
"From<EMAIL_ADDRESS>."To<EMAIL_ADDRESS>."Subject: plain text email example\r\n"
."Received: from localhost (localhost [<IP_ADDRESS>]) by gw1.example.net (Postfix)\t with ESMTP id A0B1C2D3E4F for<EMAIL_ADDRESS>Wed, 14 Jul 2014 01:50:21 +0200 (CEST)\r\n"
."\r\n"
."I am a test message\r\n";

Zend\Mail\Message::fromString($message);

Without \t in "Received" it works. So far, I am not familiar with the submit workflow but I provided a fix here: https://github.com/rapidsoft-de/zend-mail/commit/4edeb2b7ebd26aaa16860684d3be3c5d10519824

Create a new Pull Request and add unit tests.
https://github.com/zendframework/zend-mail/compare/master...rapidsoft-de:hotfix-header-value-htab


ci: increase junit artifact retention from 2 to 5 days

Currently JUnit artifacts of test-results (e.g. connectivity tests) are kept for 2 days as GitHub artifact.
For better analysis (by external tooling), the JUnit artifacts should be available as long as the sysdump artifacts.
Therefore, this commit increases the retention of junit artifacts to 5 days.

/test


Circuit breakers

This is largely copied from reddit/reddit-service-graphql/tree/master/graphql_api/lib/circuit_breaker. That code is great and running in production in a few service.
I added docstrings and types where missing and then added the CircuitBreakerClientWrapperFactory interface to hopefully make it a bit easier to integrate with baseplate service.
I'm going to copy/paste this code into thing service and r2 to ensure it works as expected and isn't missing anything. Then we can consider merging this PR into baseplate.
👓 @suzie-su @pnovotnak @spladug @manishapme @jennLam

Note from Manisha:
only request is some docs that show how you set it up in the tests in the docstring somewhere. like add this to your init.py file
breaker_box = breaker_box_from_config(
            app_config={
                "brkr.samples": "4",
                "brkr.trip_failure_ratio": "0.75",
                "brkr.trip_for": "1 minute",
                "brkr.fuzz_ratio": "0.1",
            }
wrapped_client_factory = CircuitBreakerClientWrapperFactory(
            client_factory, self.breaker_box
        )
baseplate.add_to_context("wrapped_client", wrapped_client_factory)

🏃♂


Usage

Hello there,
please excuse if I am being rude here I'm quite new to Github :)
I was just wondering after reading the README.md what this repo actually does? I mean it looks like a pretty complicated setup especially focusing on contributions. However, I would be interested in the usage of the name of this repo.
In other words is there a way to syn google fit to garmin or the other way around with this repo? (At least that is what I was hoping for reading the name :smiley:) Or is this an unfinished clone from this repo? In that case I might be interested in making this work :grinning: with my own project
Best

Hi there
That was what I was trying to do, but I don't think I got anywhere I'm afraid!


scheduler exception path IRQ disposition

It is at present possible to violate this invariant, by having a thread use an IRQ-enabling sentry from its top-level context to enter the switcher cross-call return path, which it can do, with a little help.  Here's a minimal PoC:

helper.cc:#include "helper.h"
[[cheri::interrupt_state(enabled)]] void* help(void)
{
  return __builtin_return_address(0);
}

helper.h:#include <compartment.h>
void* __cheri_compartment("helper") help(void);

top.cc:#include "helper.h"
void __cheri_compartment("top") entry()
{
  asm volatile ("cmove cra, %0; cret" : : "C"(help()));
}

xmake.lua:set_project("CHERIoT Scheduler IRQ Exception PoC")
sdkdir = "../../sdk"
includes(sdkdir)
set_toolchains("cheriot-clang")
option("board")
  set_default("sail")
compartment("helper")
  add_files("helper.cc")
compartment("top")
  add_files("top.cc")
firmware("top_compartment")
  add_deps("freestanding", "debug")
  add_deps("top", "helper")
  on_load(function(target)
      target:values_set("board", "$(board)")
      target:values_set("threads", {
          {
              compartment = "top",
              priority = 1,
              entry_point = "entry",
              stack_size = 0x200,
              trusted_stack_frames = 1
          }
      }, {expand = false})
  end)

Because this involves a thread exiting, I'm not sure what the best way to integrate this into the RTOS test suite is, but it should probably end up there... a sacrificial thread that blocks on a futex until told to do its thing?

We should probably put it in a separate test firmware. Eventually I want to start splitting the test suite up so we can run different parts in parallel.

You can test that the small change to the switcher works by running the regression test both before and after that commit is applied (with git rebase, say).
Note that the regression test infinite-loops on failure (in the switcher's exception path), since the assertion failure traps while MTDC is 0, which causes the exception path to set MTCC to 0 and then take a trap and then die.  (This PR is not atop #320, and so is missing the pending changes in "switcher: ensure that MTCC is really NULL on fault".)
[111432] [M]: 0x8000170C (0x0000) c.illegal 0x0
trapping from M to M to handle illegal-instruction
handling exc#0x02 at priv M with tval 0x00000000
CSR mstatus <- 0x00001800
mem[X,0x80000C04] -> 0x015B
mem[X,0x80000C06] -> 0x03D1
[111433] [M]: 0x80000C04 (0x03D1015B) cspecialrw csp, mtdc, csp
x2 <- 0x00000000 (v:0 0x00000000-0x000000000 l:0x000000000 o:0x0 p:- ------ -- ---)
mem[X,0x80000C08] -> 0x015B
mem[X,0x80000C0A] -> 0xFEA1
[111434] [M]: 0x80000C08 (0xFEA1015B) cmove csp, csp
x2 <- 0x00000000 (v:0 0x00000000-0x000000000 l:0x000000000 o:0x0 p:- ------ -- ---)
mem[X,0x80000C0C] -> 0x1463
mem[X,0x80000C0E] -> 0x0001
[111435] [M]: 0x80000C0C (0x00011463) bne sp, zero, 0x8
mem[X,0x80000C10] -> 0x005B
mem[X,0x80000C12] -> 0x03C1
[111436] [M]: 0x80000C10 (0x03C1005B) cspecialrw cnull, mtcc, csp
mem[X,0x80000C14] -> 0xE406
[111437] [M]: 0x80000C14 (0xE406) c.cscsp cra, 0x8
CHERI TagViolation Reg=c2/csp PC=0x80000C14
trapping from M to M to handle cheri
handling exc#0x1C at priv M with tval 0x00000042
CSR mstatus <- 0x00001800
CHERI TagViolation Reg=PCC PC=0x00000000
trapping from M to M to handle cheri
handling exc#0x1C at priv M with tval 0x00000402
CSR mstatus <- 0x00001800
CHERI TagViolation Reg=PCC PC=0x00000000
...

We should probably teach sail that that's a good excuse to stop simulating.

It is at present possible to violate this invariant, by having a thread use an IRQ-enabling sentry from its top-level context to enter the switcher cross-call return path, which it can do, with a little help.

What invariant?

I think the invariant that sched_exception_entry runs with interrupts disabled.

I saw it on the commit message. I think it's better to put the info here also, as this PR is referred to in the code. Specifically:
The thread exit path zeros out MTDC as part of transitioning to the
scheduler compartment.  It's bad if we can get there with IRQs enabled,
so ensure that we cannot from switcher_skip_compartment_call.


Error with flowtype and classes props

Hi there!
When using flowtype for props validation I always have this error:
Property `classes` is missing in props [1] but exists in Props [2].
Here's an example to reproduce this error:
DummyComponent.js
// @flow
import React from 'react';
import injectSheet from 'react-jss';
import type {Classes} from 'react-jss';

// Styles
const styles = {
  root: {
    color: 'red'
  }
};

// Types
type Props = {
  classes: Classes<typeof styles>,
  content: string
};

class DummyComponent extends React.Component<Props> {
  render() {
    const {classes, content} = this.props;

    return (

        {content}

    );
  }
}

export default injectSheet(styles)(DummyComponent);

OtherComponent.js
// @flow
import React from 'react';
import injectSheet from 'react-jss';
import type {Classes} from 'react-jss';

// DummyComponent
import DummyComponent from './DummyComponent';

// Styles
const styles = {
  root: {
    color: 'blue'
  }
};

// Types
type Props = {
  classes: Classes<typeof styles>
};

class OtherComponent extends React.Component<Props> {
  render() {
    const {classes} = this.props;

    return (

        <DummyComponent content="Hello world!" /> {/* Flow throws the error here */}

    );
  }
}

export default injectSheet(styles)(OtherComponent);

I'm using flow-typed with this react-jss definition: https://github.com/flow-typed/flow-typed/pull/2277/files
When I run the tests for this definition, everything looks good, so I don't understand...
Here is my packages version:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

where did you get Classes<typeof styles> from ?

From the react-jss package:
import type {Classes} from 'react-jss';

styles is the const containing the component styles

yes, but thats not what classes is, classes is a map of a rule name and class name {ruleName: className}

I follow the same logic from the definition tests file : https://github.com/flow-typed/flow-typed/blob/master/definitions/npm/react-jss_v7.x.x/test_react-jss_v7.x.x.js
But maybe i'm doing it wrong?

https://github.com/flow-typed/flow-typed/blob/master/definitions/npm/react-jss_v7.x.x/test_react-jss_v7.x.x.js#L20

its basically says it is type of object

It's a problem with the return type of the injectSheet function. Currently, flow thinks that the classes prop are required.

Yes @HenriBeck, that's the exact problem I'm facing. Do we have a workaround for this?

You need to remove the classes key from the returned component. I think it's this one. You can do that by the $Diff type.
declare class ConnectedComponent<OP, P, Def, St> extends React$Component<$Diff<OP, { classes: any }>, St> {

I got this error with this change:
Cannot extend React.Component [1] with ConnectedComponent because inexact OP [2] is incompatible with exact $Diff [3]in property props.

but classes IS required

Yes but classes is injected by react-jss, we can't pass it as props when we call the <DummyComponent>, but Flow thinks that classes is required as props so it throws the error.

Oh I see now, its about telling flow that the classes are injected by injectSheet …

Yes :)

@fseglard i can give you my definition when I'm home. I doesn't have the error
Sent with GitHawk

Thanks @HenriBeck!

@fseglard https://gist.github.com/HenriBeck/438f0cbd6c6168ccced47287b0d61f0e#file-react-jss-js that's how I typed it. I don't know if it works anymore, might wanna try it out before and make sure it works as expected

@HenriBeck Lets make sure this is fixed for everyone!

@kof yeah thought about adding flow to this project🤔
Sent with GitHawk

I am for it, but didn't have time, if you are using it with flow and its an easy thing for you, go ahead!

@HenriBeck could you provide me an example of how you use your definition please?

I think you should be able to use it the same way you did.

I am gonna close this, @HenriBeck feel free to open a new one if you want to add typings to react-jss


Move libp2p,discv5,backfill to workers

During team retreat we discussed the idea of parallelizing work across multiple threads as makes sense.
If anyone has more notes from that session add here please.
Some open questions:

how should metrics be handled across workers?

how should metrics be handled across workers?

I've been playing around with discv5 on a thread on this is the biggest hurdle I found so far.
Requirements:

Functions can't be called directly, everything must be a message / event
Metrics server will remain in the main thread, which can have metrics data already available or collect it from somewhere

Solutions:

On every metrics call (metric.inc()) fire an event to upstream that data to main thread
Collect metrics on worker, and then on scrape collect all of them with a single event

Some notes

Collect metrics on worker, and then on scrape collect all of them with a single event

Yeah thats what I was leaning towards. The worker maintains its own Registry. And the worker exposes a async metrics(): Promise<string> that basically looks like return await registry.metrics()

The other weird thing I saw is that the threads library doesn't support the event listener pattern, only "observables". You can create an observable per event to listen on, its just a little weird.

I think we should skip the threads library for now

Discv5 done, see #4988

Looking into moving the network into a thread. Some annoyances/hurdles (that could be treated as refactoring prereqs):

some consensus objects can't be structuredClone'd. Any BitArray gets converted into an object.

convert BitArray methods to functions?
build generic ssz type "rehydrator" to recursively convert any BitArray subproperties back into BitArrays

INetworkOptions can't be structuredCloned. Contains functions / instances

refactor so it can be structuredCloned

Network submodules contain refs to chain / config

worker can own its own config and clock
any chain data required for init can be passed in worker data (initial validator count)
gossip validation and req/resp handlers can be performed in main thread
push chain.getStatus() into network worker on new head calculation

libp2p initialized at a higher level and passed into network constructor

initialize libp2p inside the network module / worker

discv5 and libp2p moved to worker. Open dedicated issue to backfill when we implement it


add more oidc chinese translation, and encoding to utf-8, make the property file human readable

add more oidc chinese translation and encoding to utf-8, make the property file human readable

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Do not pass globals as arguments. They may be clobbered

Summary
Error is clobbered before we process it
Motivation
Arguments to functions are just aliases. When we process error we should copy $@ as soon as possible. When we pass $@ as argument we may implicitly loose its value
References
sub test {
$@ =  'Oops';
my( $x ) =  @_;
print $x; # Oops
}
$@ =  'Exception';
test( $@ );

sorry, miss my repository


[BUG]: On some android phones editor is never ready (Waiting for 2 minutes)

Describe the bug
On some android phones editor is never ready (Waiting for 2 minutes)
I have not been able to reproduce this locally, but we are seeing this issue in our Sentry and api logs. Users are able to write in the editor. We do not know if this content is available by the useEditorContent, as we only report this to our form context when bridgeState.isReady works.
To Reproduce
Unknown.
Expected behavior
The bridgestate should become ready in reasonable time.
Screenshots
N/A
If any information is needed from us, let me know. I can present more of our code and our Sentry tracking if needed.

Havn't seen this before, my guess would be that this is something react-native-webview related, here's an example of a possible issue https://github.com/react-native-webview/react-native-webview/issues/2680
Does it usually work on that device, is it reproducible? Any additional errors? Possibly on the webview itself

I have not 100% confirmed, but users are typing in the input. So it does work on the device, it also seems to happen occasionally, not every time.
I have not logged any additional errors, and have not been able to reproduce. But the error does happen frequently enough for this to be a issue for us.
I will attempt to reload the webview when onRenderProcessGone is called to see if that helps.

I also encountered this issue

fixed this by making sure that I had the editor in a


[CHK-3206] Restore main as main branch

Resolve conflict and merge develop into main branch. In this way all PRs open on develop, will automatically migrate to main
List of Changes

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

On a serious note: remember to add a description as to why we are merging 460 commits on a single PR 😉


Placeholder is missing when using noFilter

If using the noFilter-option, the placeholder is missing.
https://plnkr.co/edit/mhabWic6rXGJsq4Ugu03?p=preview

Fixed in upcoming beta.6 release. Thanks for reporting @readme42!


187 B3 Headers Support

Add support for B3 trace headers whil continuing to support the old
trace headers. This change aims to allow both both B3 and the old
headers to be used as long as they contain identical values. For
example:
X-Trace:<PHONE_NUMBER>abcdef
X-B3-TraceId:<PHONE_NUMBER>abcdef

Change To Highlight
The old headers only allowed integer values for trace, span and parent
span ID fields. This change broadens that to 64 bit hex encoded strings.
Trace IDs can be either 64 or 128 bit.
Fixes #187

👓 @spladug @pacejackson

💇
@spladug @pacejackson Thanks for the feedback. My first approach was way too heavy handed and over engineered. I tried to greatly simplify things and focus solely on getting Baseplate to look at B3 headers in addition to those it already supported.

💇


Custom URLs for OpenAI-Based URL Not Functioning After Version 2.3.1

Thank you for the new features in the latest version! However, I noticed that after version 2.3.1, the custom URLs for OpenAI's OpenAI-Based URL are no longer functioning.

Since I'm not using OpenAI's official URL, I need to make some modifications to this URL. It worked well in previous versions, but starting with version 2.3.1, it seems to be malfunctioning. As a result, I have to manually update the link in the main.js file for it to work. I would greatly appreciate it if you could fix this issue. Thank you!

yes，I also meet the problem. How do you fix it?

yes，I also meet the problem. How do you fix it?是的，我也遇到这个问题了你如何解决它？

I didn't make many modifications because I'm not good at programming. I simply opened the main.js file of the BMO plugin using VSCode and used the shortcut Ctrl+H for a global replacement to change https://api.openai.com to another link, such as https://api.openai-sb.com. After restarting Obsidian, it worked normally. However, this method does not allow for easily defining other links, and I need to modify it again after the plugin is updated. I hope this bug can be fixed in the next update.

嗯确实是某次改动的时候给改回固定 URL 了，估计是测试的时候没注意。我已经针对性提交 pr 了

v2.3.3
#103 by QAbot-zh
Thanks!


log filename of unparsable mysql schema file

Fixes #245

Thanks @jmhodges! Once you update %s to `%w I'll merge this in.

For reasons, I also fixed the other places that could use %w in https://github.com/kyleconroy/sqlc/pull/250


Typing fixes

Typing fixes. Also runs mypy in pre-commit hook.

Codecov Report

Merging #21 (46244ca) into main (e2dc757) will increase coverage by 0.22%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##             main      #21      +/-   ##
==========================================
+ Coverage   32.20%   32.43%   +0.22%
==========================================
  Files           6        6
  Lines         295      296       +1
  Branches       54       54
==========================================
+ Hits           95       96       +1
  Misses        200      200

Impacted Files
Coverage Δ

src/humble_explorer/__init__.py
100.00% <ø> (ø)

src/humble_explorer/app.py
0.00% <0.00%> (ø)

src/humble_explorer/widgets.py
0.00% <0.00%> (ø)

src/humble_explorer/renderables.py
60.80% <100.00%> (+0.31%)
:arrow_up:

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


Bigger Progress Bar

Made it abit bigger

@gajinkee Sorry, I just realised that you made the progress bar bigger, but not the progress bar title (which was the focus of the original issue). I think the past progress bar worked fine actually (it was thin but clearly visible against the white background). Would it be possible for you to revert this change and increase the progress bar title font size instead? Thanks!

Oops ok I have changed it.


WIFI-3201 Equipments cusId/locId/profIds can no longer be updated to 0 with REST API

I started off by updating the hasUnsupportedValues() method in the equipment model but it caused way too many unit tests to fail and need changing so I ended up putting the check in the controller only for update to mitigate the number of changes to the unit tests.

I guess you could still set it to any other location/custId/profileId that is not valid? (e.g, 999). Is there any validation code in place to catch that?

I don't believe there is any validation for the three. They can be set to 999 for example

ok, in that case I'd rather defer the fix for this to a time when the API validation is implemented fully. This API is already bad to begin with (should be a patch request instead), but that is a bigger work item for the future.


gitea: fetch all branches

Both repo branch view and manual branch selector were limited to the stock pageSize of gitea client.
I've added a loop to fetch all branches from gitea

@qwerty287 i'll add the todo, do you prefer it in the base interface or just in the function modified?

well just make a func that get a func as argument in common ... witht is you dont need to create special interfaces etc ...
just some func as arg and generics:
func pagginate[T type](get func(page) ([]*T, error)) ([]*T, error)

?

Codecov Report
Base: 44.41% // Head: 44.41% // Decreases project coverage by -0.00% :warning:

Coverage data is based on head (4b58d3c) compared to base (da997fa).
Patch coverage: 5.00% of modified lines in pull request are covered.

:exclamation: Current head 4b58d3c differs from pull request most recent head e88ecf0. Consider uploading reports for the commit e88ecf0 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1231      +/-   ##
==========================================
- Coverage   44.41%   44.41%   -0.01%
==========================================
  Files         133      133
  Lines        9724     9736      +12
==========================================
+ Hits         4319     4324       +5
- Misses       5154     5161       +7
  Partials      251      251

Impacted Files
Coverage Δ

pipeline/error.go
100.00% <ø> (ø)

pipeline/frontend/yaml/container.go
81.25% <ø> (ø)

server/remote/gitea/gitea.go
32.29% <0.00%> (-1.05%)
:arrow_down:

server/shared/procBuilder.go
85.13% <100.00%> (ø)

server/logging/log.go
54.65% <0.00%> (+5.81%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@qwerty287 did you have something like this in mind: #1236 ?

@ennetech :point_up: that's a nice example how to use generics and pass func as arguments in go

Yes if we start supporting pagination ... we do not need that func in most cases anymore


Use custom module ids for instrumented module imports

There are 2 issues that are somewhat related, instrumented module ids and instrumented chunk ids. I grouped these changes together because the issues can be reproduced in the same fashion (dynamically importing code that imports other code).
Issue - Module IDs
Some production builds were getting these errors:
Bundle does not contain a default export  from here
or
Cannot read property 'call' of undefined because modules[moduleId].call(/* ... */) in webpack bootstrap code.
Cause
This seems to have been because the instrumented __MODULE_ID was different than the __webpack_modules__ key.
Fix
The initial implementation of the translation instrumentation, I was unsure why some production builds were missing a module.id, but it appears to be because afterOptimizeDependencies is an earlier compilation phase then beforeModuleIds  where the module ids are assigned in HashedModuleIdsPlugin, which is only used in production builds for client bundles.
This fix creates custom module ids at the afterOptimizeDependencies phase, and makes sure they are reused in the beforeModuleIds phase by caching them based on module path (from module.libIdent).
Issue - Chunk IDs
In some places, translations were not working correctly. Serialized translations were empty or incomplete and /_translations API endpoint was responding with an empty object.
Cause
This is caused by a disconnect between chunk ids on the server versus the client for the same module.
Fix
Use module.rootModule.request rather than module.originRequest for ConcatenatedModules in the production build.

How difficult would it be to create an e2e regression test case for the bug this fixes?

I'll try again. Up until I found this fix, I was unable to reproduce the bug in simple apps

How difficult would it be to create an e2e regression test case for the bug this fixes?

I'll try again. Up until I found this fix, I was unable to reproduce the bug in simple apps

Nvm. This was super easy to reproduce

!resync

!resync


Linux 2.2.3-beta2 floating point exception (crash on startup)

After building from source with LTO enabled, when opening a chat channel or going into the Options -> Highlights tab, Chatterino crashes with:
[1]    72264 floating point exception  chatterino
Chatterino version
Chatterino 2.2.3-beta2 (commit a6e23e246), though I've had this issue for a couple of weeks
Operating system
x86_64 Gentoo unstable
I ran a gdb backtrace for both crashes
Options -> Highlight crash
Thread 1 "chatterino" received signal SIGFPE, Arithmetic exception.
chatterino::ColorProvider::color (this=0x555555ac4bc0 <_ZZN10chatterino13ColorProvider8instanceEvE8instance.lto_priv.0>,
    type=chatterino::ColorType::SelfHighlight) at src/providers/colors/ColorProvider.cpp:23
23      src/providers/colors/ColorProvider.cpp: No such file or directory.
(gdb) bt
#0  chatterino::ColorProvider::color (this=0x555555ac4bc0 <_ZZN10chatterino13ColorProvider8instanceEvE8instance.lto_priv.0>,
    type=chatterino::ColorType::SelfHighlight) at src/providers/colors/ColorProvider.cpp:23
#1  0x00005555556d4a51 in chatterino::HighlightModel::afterInit (this=0x555556e44fc0)
    at src/controllers/highlights/HighlightModel.cpp:74
#2  0x00005555558322a8 in chatterino::SignalVectorModel<chatterino::HighlightPhrase>::initialized (vec=<optimized out>,
    this=0x555556e44fc0) at src/common/SignalVectorModel.hpp:93
#3  chatterino::HighlightingPage::HighlightingPage (this=<optimized out>, this=<optimized out>)
    at src/widgets/settingspages/HighlightingPage.cpp:54
#4  0x00005555557dc9bc in operator() (__closure=<optimized out>) at src/widgets/dialogs/SettingsDialog.cpp:169
#5  std::__invoke_impl<chatterino::HighlightingPage*, chatterino::SettingsDialog::addTabs()::<lambda()>&> (__f=...)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/g++-v10/bits/invoke.h:60
#6  std::__invoke_r<chatterino::SettingsPage*, chatterino::SettingsDialog::addTabs()::<lambda()>&> (__fn=...)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/g++-v10/bits/invoke.h:113
#7  std::_Function_handler<chatterino::SettingsPage*(), chatterino::SettingsDialog::addTabs()::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/include/g++-v10/bits/std_function.h:291
#8  0x00005555557dcdfa in std::function<chatterino::SettingsPage* ()>::operator()() const (this=<optimized out>)
    at src/widgets/helper/SettingsDialogTab.cpp:41
#9  chatterino::SettingsDialogTab::page (this=0x555556c18be0) at src/widgets/helper/SettingsDialogTab.cpp:46
#10 chatterino::SettingsDialogTab::page (this=0x555556c18be0) at src/widgets/helper/SettingsDialogTab.cpp:41
#11 operator() (__closure=<optimized out>) at src/widgets/dialogs/SettingsDialog.cpp:202
#12 chatterino::SettingsDialog::selectTab (this=0x555555c46270, tab=0x555556c18be0, byUser=<optimized out>)
    at src/widgets/dialogs/SettingsDialog.cpp:206
#13 0x0000555555810b28 in chatterino::SettingsDialogTab::mousePressEvent (event=<optimized out>, this=0x555556c18be0)
    at src/widgets/helper/SettingsDialogTab.cpp:80
#14 chatterino::SettingsDialogTab::mousePressEvent (this=0x555556c18be0, event=<optimized out>)
    at src/widgets/helper/SettingsDialogTab.cpp:73
#15 0x0000155554b178d4 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#16 0x0000155554ad6441 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#17 0x0000155554ad71a8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#18 0x0000155553cb05d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#19 0x0000155554ad0b4b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib64/libQt5Widgets.so.5
#20 0x0000155554b32ad7 in ?? () from /usr/lib64/libQt5Widgets.so.5

Launch -> Open channel
Thread 1 "chatterino" received signal SIGFPE, Arithmetic exception.
chatterino::ColorProvider::color (this=0x555555ac4bc0 <_ZZN10chatterino13ColorProvider8instanceEvE8instance.lto_priv.0>,
    type=chatterino::ColorType::SelfHighlight) at src/providers/colors/ColorProvider.cpp:23
23      src/providers/colors/ColorProvider.cpp: No such file or directory.
(gdb) bt
#0  chatterino::ColorProvider::color (this=0x555555ac4bc0 <_ZZN10chatterino13ColorProvider8instanceEvE8instance.lto_priv.0>,
    type=chatterino::ColorType::SelfHighlight) at src/providers/colors/ColorProvider.cpp:23
#1  0x00005555556f5ac7 in chatterino::SharedMessageBuilder::parseHighlights (this=0x7fffffff6850)
    at src/messages/SharedMessageBuilder.cpp:268
#2  0x00005555557ace79 in chatterino::TwitchMessageBuilder::build (this=0x7fffffff6850)
    at src/providers/twitch/TwitchMessageBuilder.cpp:322
#3  0x000055555571d763 in chatterino::IrcMessageHandler::addMessage (this=0x7fffffff6850, _message=_message@entry=0x5555564c98a0,
    target=..., content=..., server=..., isSub=isSub@entry=false, isAction=false) at src/providers/twitch/IrcMessageHandler.cpp:287
#4  0x00005555557a5763 in chatterino::IrcMessageHandler::handlePrivMessage (server=..., message=0x5555564c98a0, this=<optimized out>)
    at src/providers/twitch/IrcMessageHandler.cpp:218
#5  chatterino::TwitchIrcServer::privateMessageReceived (this=0x555555d58900, message=0x5555564c98a0)
    at src/providers/twitch/TwitchIrcServer.cpp:106
#6  0x0000155553ce12ae in ?? () from /usr/lib64/libQt5Core.so.5
#7  0x000055555564cade in Communi::IrcConnection::privateMessageReceived (_t1=0x5555564c98a0, this=0x555555d5a060)
    at ./moc_ircconnection.cpp:1535
#8  Communi::IrcConnectionPrivate::receiveMessage (this=0x7fffffff6a98, msg=0x5555564c98a0)
    at lib/libcommuni/src/core/ircconnection.cpp:538
#9  0x0000555555671860 in Communi::IrcProtocol::receiveMessage (message=0x5555564c98a0, this=0x555555d5a730)
    at lib/libcommuni/src/core/ircprotocol.cpp:513
#10 Communi::IrcProtocolPrivate::processLine (line=..., this=0x555555d5a8c0) at lib/libcommuni/src/core/ircprotocol.cpp:166
#11 Communi::IrcProtocolPrivate::readLines (this=0x555555d5a8c0, delimiter=...) at lib/libcommuni/src/core/ircprotocol.cpp:117
#12 0x0000555555673f1f in Communi::IrcProtocol::read (this=<optimized out>) at lib/libcommuni/src/core/ircprotocol.cpp:485
#13 0x0000155553ce12ce in ?? () from /usr/lib64/libQt5Core.so.5
#14 0x000015555414573f in ?? () from /usr/lib64/libQt5Network.so.5
#15 0x0000155553ce12ce in ?? () from /usr/lib64/libQt5Core.so.5
#16 0x00001555540fd02f in ?? () from /usr/lib64/libQt5Network.so.5
#17 0x0000155554114642 in ?? () from /usr/lib64/libQt5Network.so.5
#18 0x0000155554ad6441 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#19 0x0000155553cb05d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#20 0x0000155553d02d11 in ?? () from /usr/lib64/libQt5Core.so.5
#21 0x0000155552a0dddb in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#22 0x0000155552a73122 in ?? () from /usr/lib64/libglib-2.0.so.0
#23 0x0000155552a094f1 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0

Removing the -flto flag at compile time removed the crashes and the program works as expected.

From the backtrace, it seemed related to an issue with LTO optimizations (removing the -flto flag at compile time removed the crashes and the program works as expected)

From the backtrace, it seemed related to an issue with LTO optimizations (removing the -flto flag at compile time removed the crashes and the program works as expected)

From the backtrace, it seemed related to an issue with LTO optimizations (removing the -flto flag at compile time removed the crashes and the program works as expected)

According to the backtrace and your observation that it builds without -flto, it seems to me that the compiler makes an illegal optimization which cause the ColorProvider::typeColorMap_ to be used before it is properly initalized (cf. this SO thread). I do not believe this is an issue on our end.

From the backtrace, it seemed related to an issue with LTO optimizations (removing the -flto flag at compile time removed the crashes and the program works as expected)

According to the backtrace and your observation that it builds without -flto, it seems to me that the compiler makes an illegal optimization which cause the ColorProvider::typeColorMap_ to be used before it is properly initalized (cf. this SO thread). I do not believe this is an issue on our end.

Cheers, closing
For additional info, my gcc version is (Gentoo 10.2.0-r5 p6) 10.2.0

Cheers, closing
For additional info, my gcc version is (Gentoo 10.2.0-r5 p6) 10.2.0


Zod resolved type change for Opaque type between v3.14.4 -> v3.15.1

I have the following code:
type Opaque<Type, Token = unknown> = Type & { tag: Token };

enum FACE {
    QUEEN = 'QUEEN',
    KING = 'KING'
}

enum SUIT {
    HEARTS = 'HEARTS',
    DIAMONDS = 'DIAMONDS'
}

type FaceCard<Face extends FACE> = Opaque<`${ Face }_${ SUIT }`, 'FaceCard'>;

type Hand = z.output<
    z.ZodObject<{
        card : z.ZodType<FaceCard<FACE.QUEEN>, z.ZodTypeDef, string>,
    }>
>;

In<EMAIL_ADDRESS>Hand resolved to:
type Hand = {
    card: FaceCard<FACE.QUEEN>;
}

But now in<EMAIL_ADDRESS>Hand is resolving to:
type Hand = {
    card: (FaceCard<FACE.QUEEN> | undefined) & FaceCard<FACE.QUEEN>;
}

Why did the second type get more complex here, when the first one is correct?
(By the way -- incredible library. Thank you for making this, seriously.)

Hi @bluepnume.
Sorry about this. I changed the definition of z.ZodObject in my PR (https://github.com/colinhacks/zod/issues/1121) that was recently merged. It's behaviour was unchanged in all the cases I tested, but it looks like you found a broken case. I've fixed the type to work with your example:
https://github.com/colinhacks/zod/pull/1122
As a side node, although the type looks ugly and we should definitely fix the problem, I believe the types { property: (T | undefined) & T } and { property: T } are technically the same, so hopefully you shouldn't be seeing any issues with using the type.

Thanks @bentefay! Appreciate the fast turnaround!
No huge rush to merge, since I can just lock to 3.14.4 for now. But since you asked, the issue that this causes for me is demonstrated with the following code:
type QueenCard = Hand['card'];

type CardValue = {
    [ FACE.QUEEN ] : 12,
    [ FACE.KING ] : 13,
};

type CardToValue<Face extends FACE> = Face extends keyof CardValue
    ? CardValue[Face]
    : never;

const cardToValue = <Face extends FACE>(card : FaceCard<Face>) : CardToValue<Face> => {
    return someLogic(card);
};

const value = cardToValue('' as QueenCard);

const expectedValue : 12 = value;

console.log('Value is', value, 'expected', expectedValue);

^ This code type-checks with 3.14.4. But with 3.15.1, I get:
const expectedValue : 12 = value;

Type '12 | 13' is not assignable to type '12'.

-- essentially, while (T | undefined) & T and T are equivalent, you can use T as an index but you can't with (T | undefined) & T, so this type refinement breaks other parts of my code that rely on that.

Ahh that makes complete sense. It's also not something I could have possibly dreamed up as a test :smile:. Now I see it though I suppose we could add that as a unit test, though it would be perhaps a little too specific? I'm not even sure what a minimal reproduction would be.

Resolved in 3.16, thanks @bentefay

Thanks @bentefay and @colinhacks! And again thanks for a stellar library, you guys rock.


Add script/bootstrap

I had to type, like, at least 3 commands to get this app running. :trollface:
This is just a reminder to add a script/bootstrap to make it easier.
Edit: Most of this can be scripted.

I was thinking about taking a hold of this! I had a few questions though based upon your referenced article + the setup documentation. With our script, I was thinking we would have,

[ ] Install rbenv (or RVM 😛)
[ ] Installing ruby-lang by the .ruby-version
[ ] Installing Node/NPM
[ ] Installing PostgreSQL

I might be overthinking it, but my main concern comes from how system-agnostic we want to maintain this file. In the script/bootstrap file above, it mentions looking for Homebrew dependencies and in our documentation we also mention installation by Homebrew so should be keep it to that or should we just look towards maintaining it through bash?

@maxcell Awesome! I'd suggest looking at https://github.com/github/scripts-to-rule-them-all/blob/master/script/bootstrap which is a good starting point. I'd assume the use of certain tools (rbenv, Homebrew, Brewfile, macOS) for now and people can always extend it as to their liking. https://github.com/github/homebrew-bootstrap/ may also be useful for providing scripts that are more involved, handle a bunch of edge-cases and can be run just by adding e.g. brew bootstrap-nodenv-node to script/bootstrap and tap "github/bootstrap" to the Brewfile. Feel free to open a PR early even if not complete and we can talk more there. Good luck and thanks ❤!


Editor: Trigger right-click menu items do nothing

When I right-click a trigger in the trigger tab in the Editor UI and select New trigger, edit trigger or delete trigger, nothing happens. Enabling and disabling items with the right-click menu work.
Originally posted: 2016-09-15T11:55:25

Fixed in 2.5.22
Originally posted: 2016-09-16T08:16:24


Publish 0.0.2

I can't find 0.0.2 on Sonatype nexus.
Thank you!

I'm traveling, I'll publish the artifact tonight late or tomorrow

No rush. Take your time. Thanks!

For everyone who can't wait, you can add sbt repositories directly in your build.sbt:
lazy val root = (project in file(".")).dependsOn(pureCSV)
lazy val pureCSV = RootProject(uri("https://github.com/melrief/PureCSV.git"))

0.0.2 released on sonatype, sorry for the delay


nchat crashes on startup

nchat crashes on startup
last message in log is
std::out_of_range'
what():  map::at
I'm happy to send full log to you, but not post on GitHub @alohwolf is my username

Note this was on ubuntu 18.04 where the issue occurred - there is another related crash were cycling too radpidly thru chats will cause the application to crash

libc++abi.dylib: terminating with uncaught exception of type std::out_of_range: map::at:  key not found
Same crash happens on macOS when cycling thru contacts too rapidly.

Hi @alohawolf - thanks for reporting the crashes. I have not been able to reproduce neither the startup crash nor the cycling through contacts crash (I tested on macOS 10.14.6 and Ubuntu 18.04 LTS).
Previous nchat logging was not very extensive, but in https://github.com/d99kris/nchat/commit/95711155074f67ed4c79e922c312357695929262 I've implemented some improved logging. Could you help update to latest code base and reproduce the problem again, and then share your ~/.nchat/main.log with me?
That particular log file should not contain any sensitive information, and should be safe to upload to this issue report. But if you prefer, feel free to share it via Telegram for example.
Thanks!

@d99kris here is the crash dump from this morning.
I built it on both MacOS and Ubuntu 18.04 for testing, and it crashed on both.
main.log
macos.main.log

Thanks for the logs @alohawolf - I still couldn't reproduce the crash, but I found a possible place where the program can crash, based on the logs. I just pushed a fix for it.
Please let me know if it fixes the problem.
Thanks!

This resolved the crash issue for me.

Great, thanks for confirming! Will close the issue.


Add BUSCO?

https://gitlab.com/ezlab/busco

@thorellk mentioned BUSCO might not support bacteria. There is something bacteria-related on their webpage, but I actually have no clue about how to use BUSCO at all. I guess I have some reading to do.
https://busco.ezlab.org/

I think this is outside of the scope as of now. Maybe for the future?

Hi @thorellk , glad to see activity in this repo again :)


How to set seed before generation?

I know, you can set any seed during model loading, but how specific seed can be set before each generation (without reloading model every time) or even better for every N prompt you feed to generator?
Thank you in advance!

You are correct this is not supported at the moment. We welcome contributions!

Hi @simon-mo,
I've created a draft PR, could you please have a look?


update dependencies and fix bug on has_dataset

Description
Fix error in parsing results back from the underlying databricks sql client by updating dependencies.

Traceback (most recent call last):
File "dlt\destinations\sql_client.py", line 243, in _wrap_gen
return (yield from f(self, *args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "dlt\destinations\impl\databricks\sql_client.py", line 115, in execute_query
yield DBApiCursorImpl(curr)  # type: ignore[abstract]
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "dlt\destinations\impl\databricks\sql_client.py", line 84, in execute_sql
f = curr.fetchall()
^^^^^^^^^^^^^^^
File "databricks\sql\client.py", line 670, in fetchall
return self.active_result_set.fetchall()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "databricks\sql\client.py", line 944, in fetchall
return self._convert_arrow_table(self.fetchall_arrow())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "databricks\sql\client.py", line 884, in _convert_arrow_table
res = df.to_numpy(na_value=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "pandas\core\frame.py", line 1993, in to_numpy
result = self._mgr.as_array(dtype=dtype, copy=copy, na_value=na_value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "pandas\core\internals\managers.py", line 1703, in as_array
arr[isna(arr)] = na_value
~~~^^^^^^^^^^^
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

Related Issues

Fixes #...
Closes #...
Resolves #...

Additional Context
https://dlthub-community.slack.com/archives/C04DQA7JJN6/p1716857509703029

sorry for the messy PR @steinitzu, was planning clean it up today. The PR was done early to let the others facing this issue that it was being actively worked on

Ok! So this is due to an incompatibility with latest pandas databricks/databricks-sql-python#326 Latest connector pins pandas version, so updating is good imo and we should do it anyway.
The only problem is that the named paramstyle fails with a confusing error on cluster runtime version 13.x for some reason. I had to upgrade the test cluster to 14.3. If there's no way around that I think we should try to detect which version is running at the beginning of has_dataset. I.e. https://docs.databricks.com/en/sql/language-manual/functions/current_version.html And raise a DatabaseTerminalException with a helpful message. What do you think?

from my investigation of  current_version() and digging through the docs of databricks-sql-python, i dont see any clear way of getting

the cluster runtime version from databricks sql
the versions of the databricks runtime which this implementation breaks for, where we can clearly say This is incompatible with databricks version x.x.x, please upgrade to >= y.y.y for this connector to work

I am more inclined to catch the name paramstyle error and provide a error message like Known error seen with databricks cluster <14.x, try again after upgrading the databricks cluster to >= 14.x
I dont have the ability to change my databricks cluster to 13.x to test named paramstyle error returned, if you think the above solution works, could you help me add a commit to except the Error?


Be able to hide the console startup messages

When a Kestrel application has to be used "as is" by a customer, it could be fine to be able to not display the console initial messages.
For instance the current Hosting Environment or Content Root Path are not useful information. And moreover the messages are hard-coded in English.
Or course it is possible to write a custom Run() method, but it would be a shame.
I propose to add a new extension method public static void Run(this IWebHost host, CancellationToken token, bool displayStartupMessages).
If you agree, I can do the job.

@Yves57 thanks for the recommendation. We're currently focused on RTM, and will have a look at this after we ship.

It might be cleaner to allow setting a StreamWriter as part of the WebHostBuilder configuration as a place where these messages would go by default. That way you can just generically redirect them across the board.
We're using Console.WriteLine because logging may not have been configured yet.

We're using Console.WriteLine because logging may not have been configured yet.

I don't think this is still true. Most/all of our Console.WriteLine statements are in Run, which is after all the initialization has happened. The only reason to continue using Console.WriteLine is that you may not have enabled a default logger.

https://github.com/aspnet/Hosting/search?utf8=✓&q=Console.WriteLine

The workaround is adding your own extension methods or writing a wrapper.

Maybe you could add a parameter for a logger (ILogger kestrelLogger = null), or try to get an ILoggerFactory from the host.Services, and default to the Console if you don't get or can't create a logger.
There is a IWebHostBuilder.UseLoggerFactory, and I expect Kestrel to use it if I configure it.

Arg, I just created this issue to suggest to use an ILogger if available and fall back to Console only if there is no logger available: https://github.com/aspnet/Hosting/issues/979


Api package code cleaning

No logic changes. Cleaning and reformatting according to attached code scheme (this is basically Kotlin style guide)
OtwartyWykop.xml.zip

@feelfreelinux No problem. When I'm done with everything I'll setup KTLint and we could also include the styling tips for others in Readme


fix: nvd3 tooltip bolding/non-linebreak on ONLY header row

🐛 Bug Fix
In NVD3 charts, legends were getting for their first row, thinking it was a header. This header row is not always a header! Now, the template gets a class for the header row, which we can leverage in CSS, so headerless charts are unaffected.
Before (no header row, no problem):

After (with header row, still no problem):

Before (no header row, PROBLEM!):

After (no header row, NO problem):

Review, please :) @etr2460

@etr2460 Let me know if you see something I can address/do to make our friend Travis happier :)

@etr2460 any way to retry Travis on a PR like this, or should I find some random line of code to commit and see if it runs?

Try rebasing (?)

Travis failed again... not quite sure why, as I have not been successful in getting builds to fail locally.

Please rebase


[okina] MM methods to register non-okina pointers [artv3/okina-regPointers]

Here's me taking a swing at issue #783 . This PR enabled the Okina memory manager to register external pointers; additionally this PR will return NULL device pointers if the host pointer is NULL.

I'm giving this branch a spin on an application. It may need some adjustments...

Integrating external memory tracking through mfem::Vector constructors/methods which perform a shallow copy has been troubling. Namely due to the necessary garbage collection. I think we may have to re-evaluate how mfem::Vector gets used in applications. A possible solution is that any pointer that gets used within MFEM::Vector should first be registered with the memory manager and freed by the external application.

@camierjs , Yes! There are also examples in applications where folks insert memory allocated from the stack into an MFEM::Vector. With the previous iteration, I ran into cases where the data was getting registered multiple times.


How to build query with FIND_IN_SET?

Like this:
mysql> SELECT * FROM tbl_name WHERE FIND_IN_SET('value',set_col)>0;

.Where(dbx.NewExp("FIND_IN_SET('value',set_col)>0"))
or simply write the whole SQL directly.
Note that the query builder is meant to simplify building common SQLs, not to complicate things.

thanks!


Operator should work seamlessly with HPA

Feature Request
Operator should work seamlessly with HPA
Describe the problem you need a feature to resolve.
When HPA is created inside Operator, the issue was reported in 3367
Describe the solution you'd like.
I think there could be at least two possible solutions:

Operator should detect when a HPA is created, then detach itself from object that HPA is monitoring.
Operator should detect when a HPA is created, then monitor the desiredReplicas of the HPA, and update the replicas field of the deployment field when desiredReplicas > replicas

Thanks,

For other readers coming in later, HPA = Horizontal Pod Autoscaler.

@sxnguyen what operator type are you using? ansible? helm? go?
It also sounds like the operator is doing what it was designed to do. It is attempting to make the operand deployment as it was configured to do. So you have 2 controllers acting on the same object. Can you not build the operator such that it has a config that tells it HPA is active and not to reconcile the desired replicas?
In option 2, are you suggesting that the operator monitors the HPA and does the work on behalf of HPA?

@jmrodri : Thank you for reviewing the item.
We're using Ansible operator right now, but we do have plans to move to Go in the future.
Can you not build the operator such that it has a config that tells it HPA is active and not to reconcile the desired replicas?

---> I'm thinking of detaching the ownerReferences  of the object when it has HPA attach to it.  Would that be the right way to do it? If not, do you have any other ideas?
In option 2, are you suggesting that the operator monitors the HPA and does the work on behalf of HPA?

Sorry for not being clear.  Basically, I'm asking if it's possible to get Operator to take care of this work-around automatically.
If Operator can monitor HPA's desiredReplicas of the object (eg: deployment, sts, etc...), and update the object's min_replicas  with the value of desiredReplicas  when desiredReplicas != min_replicas.
For example:
HPA is configured on a deployment with min/max  as 2/4.  Operator would deploy the deployment object with the min_replicas: 2 initially.  In between reconcile, HPA scales to 4 due to load.  When Operator comes around, it detects there's a change, and will scale the deployment back to the original value of 2.
Thank you,
Scott


Invalid JSON in us_ca_san_mateo-addresses-county.geojson

When I try to load the data from us_ca_san_mateo-addresses-county.geojson I get the following error using jsonlint (and it looks like it's missing a comma):
> jsonlint us_ca_san_mateo-addresses-county.geojson
Error: Parse error on line 1:
...95656,37.7033098]}}{"type":"Feature","p
----------------------^
Expecting 'EOF', '}', ',', ']', got '{'

I'm not exactly sure what's wrong as the job status screen shows that you can parse the addresses on the server side. Help?

I misunderstood the geojson format.


processor(cdc): simplify get table name.

What problem does this PR solve?

Issue Number: close #5951
What is changed and how it works?
Check List
Tests

No code

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

/merge

/run-all-tests


Feature: support for KVM on Linux

Added
I proposed enabling KVM for Linux Hosts:

create would first check if the host is running Linux
If so, if there is virtualization and KVM support
If the conditions are met, -enable-kvm option is appended to the qemu command if the target has the same architecture as the host

The performance difference, for the test case of bullseye (without ARM, which does not allow KVM), is considerable:
with kvm: make test-os-debian-bullseye  13.38s user 2.03s system 29% cpu 51.826 total
without kvm: make test-os-debian-bullseye  16.41s user 2.47s system 12% cpu 2:26.58 total
The bottle neck seems to be cloud-init (Waiting for SSH), and KVM does speed up the process
Changed
I am getting error with the checksum of the BIOS. By documentation, the copy module only supports sha1 checksum, so I changed that

@zoenglinghou thank you for contribution! merged in, going to release in 0.5.2 soon


Some methods return objects that are incompatible with other methods

I encountered an error caused by a typing mismatch in the output provided by .three_end(). I'm not sure whether this affects other methods as well:
>>> pr1.join(pr2.three_end())

/nfs/latdata/iamjli/ALS/analysis/210211_250_lines/dev/pyranges/pyranges/pyranges.py in join(self, other, strandedness, how, report_overlap, slack, suffix, nb_cpu)
   2151             kwargs["example_header_self"] = self.head(1).df
   2152
-> 2153         dfs = pyrange_apply(_write_both, self, other, **kwargs)
   2154         gr = PyRanges(dfs)
   2155

/nfs/latdata/iamjli/ALS/analysis/210211_250_lines/dev/pyranges/pyranges/multithreaded.py in pyrange_apply(function, self, other, **kwargs)
    290                 df, odf = make_binary_sparse(kwargs, df, odf)
    291
--> 292                 result = call_f(function, nparams, df, odf, kwargs)
    293                 results.append(result)
    294

/nfs/latdata/iamjli/ALS/analysis/210211_250_lines/dev/pyranges/pyranges/multithreaded.py in call_f(f, nparams, df, odf, kwargs)
     20
     21     if nparams == 3:
---> 22         return f.remote(df, odf, **kwargs)
     23     else:
     24         return f.remote(df, odf)

/nfs/latdata/iamjli/ALS/analysis/210211_250_lines/dev/pyranges/pyranges/methods/join.py in _write_both(scdf, ocdf, **kwargs)
    127         suffix = kwargs.get("suffixes", "_a _b".split())[1]
    128
--> 129     scdf, ocdf = _both_dfs(scdf, ocdf, how=how)
    130     nix = pd.Index(range(len(scdf)))
    131     scdf.index = nix

/nfs/latdata/iamjli/ALS/analysis/210211_250_lines/dev/pyranges/pyranges/methods/join.py in _both_dfs(scdf, ocdf, how)
     76 def _both_dfs(scdf, ocdf, how=False):
     77
---> 78     _self_indexes, _other_indexes = _both_indexes(scdf, ocdf, how)
     79
     80     if how in ["outer", "left", "right"]:

/nfs/latdata/iamjli/ALS/analysis/210211_250_lines/dev/pyranges/pyranges/methods/join.py in _both_indexes(scdf, ocdf, how)
     12     indexes = scdf.index.values
     13
---> 14     it = NCLS(ocdf.Start.values, ocdf.End.values, ocdf.index.values)
     15
     16     if not how:

/nfs/latdata/iamjli/ALS/analysis/210211_250_lines/venv/lib/python3.6/site-packages/ncls/__init__.py in NCLS(starts, ends, ids)
     12         return NCLS64(starts, ends, ids)
     13     elif starts.dtype == np.int32:
---> 14         return NCLS32(starts, ends, ids)
     15     else:
     16         raise Exception("Starts/Ends not int64 or int32: " + str(starts.dtype))

/nfs/latdata/iamjli/ALS/analysis/210211_250_lines/venv/lib/python3.6/site-packages/ncls/src/ncls32.pyx in ncls.src.ncls32.NCLS32.__cinit__()

ValueError: Buffer dtype mismatch, expected 'const int32_t' but got 'long long'

Types of Start and End are mismatched:
>>> pr2.three_end()

Chromosome       category
Start               int32
End                 int64
Strand           category
Other fields ...

I fixed the issue by downcasting End:
>>> pr2_recast = pr2.three_end().apply(lambda df: df.assign(End=pd.to_numeric(df.End, downcast="integer")))
>>> pr2_recast.dtypes

Chromosome       category
Start               int32
End                 int32
Strand           category
Other fields ...

>>> pr1.join(pr2_recast)

I see this has been reported several times before. Sorry for the double post - feel free to close this. But it appears to be not an uncommon issue, so it might be worth prioritizing? I don't have bandwidth to look into this further myself right now, unfortunately.
It was previously suggested to force coordinate types to be int64, though it doesn't seem like it'd be that much extra work to just perform a type check to see if both coordinate columns can be represented more efficiently.

I will look into it. I was not able to reproduce, but I'll try to add a fix
anyways :)
On Tue, May 18, 2021 at 6:23 AM Johnny Li @.***> wrote:

I see this has been reported several times before. Sorry for the double
post - feel free to close this. But it appears to be not an uncommon issue,
so it might be worth prioritizing? I don't have bandwidth to look into this
further myself right now, unfortunately.
It was previously suggested to force coordinate types to be int64, though
it doesn't seem like it'd be that much extra work to just perform a type
check to see if both coordinate columns can be represented more efficiently.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/biocore-ntnu/pyranges/issues/187#issuecomment-842814035,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHURUTNZRYE5OVG2RH6WMLTOHTTZANCNFSM45BWBS2Q
.


Docker Container Crashes On Gateway Timeout

Noticed my Docker container had stopped. Thought I would grab the log
Unraid: 6.9.1
locast2tuner: 0.1.25
I would have expected locast2tuner to retry instead of stopping.
Let me know what else I can provide to help solve this!
Apr 17 14:04:47.342 INFO Stream 4c4f2d8 - draining 10 segments
Apr 17 14:04:47.342 INFO Serving https://dal.locastnet.org/proxy/dal/wfaaquest161866829.ts (10 s) in 9.432129s
Apr 17 14:04:49.046 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000031
Apr 17 14:04:49.046 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000014
Apr 17 14:04:52.080 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000037
Apr 17 14:04:52.081 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000014
Apr 17 14:04:55.107 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000040
Apr 17 14:04:55.108 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000013
Apr 17 14:04:56.781 DEBG starting new connection: https://dal.locastnet.org/
Apr 17 14:04:56.969 DEBG response '200 OK' for https://dal.locastnet.org/proxy/dal/wfaaquest161866829.ts
Apr 17 14:04:57.119 INFO Stream 4c4f2d8 - playing: segment "https://dal.locastnet.org/proxy/dal/wfaaquest161866829.ts"
Apr 17 14:04:57.126 DEBG starting new connection: https://dal.locastnet.org/
Apr 17 14:04:58.137 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000037
Apr 17 14:04:58.137 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000016
Apr 17 14:05:01.178 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000039
Apr 17 14:05:01.178 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000013
Apr 17 14:05:04.198 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000038
Apr 17 14:05:04.198 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000014
Apr 17 14:05:07.223 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000037
Apr 17 14:05:07.223 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000015
Apr 17 14:05:10.248 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000036
Apr 17 14:05:10.248 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000014
Apr 17 14:05:13.271 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000031
Apr 17 14:05:13.272 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000015
Apr 17 14:05:16.296 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000037
Apr 17 14:05:16.296 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000014
Apr 17 14:05:19.334 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000037
Apr 17 14:05:19.334 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000014
Apr 17 14:05:22.368 INFO <IP_ADDRESS>:50304 "GET /discover.json HTTP/1.1" 200 294 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000038
Apr 17 14:05:22.368 INFO <IP_ADDRESS>:50304 "GET /lineup_status.json HTTP/1.1" 200 73 "-" "PlexMediaServer/<IP_ADDRESS>82-a97b03fad" 0.000014
Apr 17 14:05:24.625 DEBG response '504 Gateway Timeout' for https://dal.locastnet.org/proxy/dal/variant/2l0fAe8wF7ilSYEdmkJvO0g0Lrlcmlt4cia0urF4WDPKQgmDY7PTLtvYzDI2BjBwU8SQUGXTvnIWVQVzYhXSEa.m3u8
thread 'actix-rt|system:0|arbiter:0' panicked at 'called `Result::unwrap()` on an `Err` value: Error { inner: MissingTag { tag: "#EXTM3U", input: "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n\t\n\t\t<title>504 - Gateway Timeout</title>\n\t\n\t\n\t\t
504 - Gateway Timeout
\n\t\n\n" } }', src/http/mod.rs:426:83

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace```

@rtm2017 Did this only happen the one time?  "504 - Gateway Timeout" sounds like it would be something on the locast end where their web server is having a problem reaching something on the back end.  I get this with nginx when using reverse proxy and one the services behind it is down.
@wouterdebie I'm not sure whether this is worth adding some kind of retry behavior to mitigate against.

Right now the http client retries recoverable errors, but a 504 is
considered serious, so it won't retry. What I could do though is to try
again until we run out of chunks to serve and then just stop the stream.
On Sun, Apr 18, 2021, 11:11 Roddie Hasan @.***> wrote:

@rtm2017 https://github.com/rtm2017 Did this only happen the one time?
"504 - Gateway Timeout" sounds like it would be something on the locast end
where their web server is having a problem reaching something on the back
end. I get this with nginx when using reverse proxy and one the services
behind it is down.
@wouterdebie https://github.com/wouterdebie I'm not sure whether this
is worth adding some kind of retry behavior to mitigate against.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/wouterdebie/locast2tuner/issues/40#issuecomment-822016679,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABKABSJ3WTRKN7RIKI5EJLTJMAB7ANCNFSM43D3PENQ
.

I've only seen it this one time. I'm not even sure it was streaming anything when it happened, I just logged in and saw that the docker container had stopped. I would expect that if locast was down or connection to the internet was lost the docker container would continue to run and simply retry every 5 minutes or something

Yeah, this should not result in a panic, but locast2tuner should either
silently ignore this and stop the stream or retry.
On Sun, Apr 18, 2021 at 1:30 PM rtm2017 @.***> wrote:

I've only seen it this one time. I'm not even sure it was streaming
anything when it happened, I just logged in and saw that the docker
container had stopped. I would expect that if locast was down or connection
to the internet was lost the docker container would continue to run and
simply retry every 5 minutes or something
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/wouterdebie/locast2tuner/issues/40#issuecomment-822038284,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABKABWNA3ZWMFGBTJE7GWTTJMQM7ANCNFSM43D3PENQ
.

I chose to just stop the stream, rather than retrying. I think this is a nice solution, since locast2tuner doesn't panic and exit, but the stream is just gone. With errors like this, we have no idea when it comes back, and we only have a 10 segment window to recover before the stream pretty much craps out.
I just pushed a fix for this and should be available in 0.1.26 (currently building and available in 15 mins or so). Thanks for the bug report!

Closing this issue for now, since this should not happen anymore. Let me know when something similar does happen :)


Updated Title to include "2"

Added "2" to the title.  The reason for this is that I found this page via a deep link (google search) and I thought it was talking about Webpack 1.  So the import statement did not work.  So I finally went on Stackoverflow where it was pointed out to me that it would work with Webpack 2.  So this simple update will help future travelers who do not realize the code will not work in V1.

All webpack.js.org docs are for v2 exclusively. It also says so in the sidebar:

Note that I agree a little with you here, but as soon as we release webpack 2, which will be very soon™, this will no longer be an issue.

Yeah, agreed. Let's close this one. Thanks, though.


Font Awesome Indexer

I made a simple little PHP script that I want to share which parses the Font Awesome icons.yml and categories.yml files and creates structured array compatible fontIconPicker when JSON encoded. The icons can also be  categorized and written to JSON files.
How to use:

Grab the Font Awesome icons.yml and categories.yml files from the latest release of Font Awesome and put them in the same folder as the PHP script.
Run the script which does the following:

Get all the Brand icons.

$brandIcons = getStyle( 'brands', $iconsYML, TRUE );

Get the Regular and Solid icons.

$rsIcons = getStyles( [ 'regular', 'solid' ], $iconsYML, TRUE );

Categorize the Regular and Solid icons.

$rsIconsCategorized = categorize( $categoriesYML, $rsIcons, TRUE );

Structure Brands icon array data to be compatible with fontIconPicker.

$brandIconsFontIconPicker = structureForFontIconPicker( $brandIcons );

Structure Regular and Solid icon array data to be compatible with fontIconPicker.

$rsIconsCategorizedFontIconPicker = structureForFontIconPicker( $rsIconsCategorized, TRUE );

Create the search terms array for fontIconPicket (not yet tested).

$brandTermsFontIconPicker = termsForFontIconPicker( $brandIcons );
$rsTermsFontIconPicker    = termsForFontIconPicker( $rsIconsCategorized, TRUE );

Write the data to JSON encoded files.

writeJSONFile( 'fontawesome-brands.json', $brandIconsFontIconPicker );
writeJSONFile( 'fontawesome-rs-categorized.json', $rsIconsCategorizedFontIconPicker );
writeJSONFile( 'fontawesome-brands-terms.json', $brandTermsFontIconPicker );
writeJSONFile( 'fontawesome-rs-categorized-terms.json', $rsTermsFontIconPicker );

The result will be 4 JSON files which can be used configuring fontIconPicker.

This is great. Please feel free to add a link and some demo to the README in a PR and I will merge.

ops!
Yes, a link would be very helpful wouldn't it, lol!  I forgot to add it. Here it is:
https://github.com/shazahm1/Font-Awesome-Icon-Parser.
I'll work on a PR for the readme.md later this week.


Connect New Relic on staging and production

Description
This Task will connect New Relic account on both staging and production environments.

:tada: This issue has been resolved in version 4.0.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


exercer rule not being applied

Hello, first of all thanks for making this program. I really like the idea of having more control over bash scripts in my NixOS system.
I have a bash script called fanger and I was tried to apply a custom exercer rule to it, without success:
 > [resholve context] : invoking resholve with PWD=/nix/store/m0f6vnn5a8lmsj0c64kracmsy29p3ca8-fanger
       > [resholve context] RESHOLVE_LORE=/nix/store/hgrl1izb5lh1rpr1yhn068fsq9hd72y3-more-binlore
       > [resholve context] RESHOLVE_EXERCER=cannot:/nix/store/b8f1l8xliqcg8iz2xx7gms0k88r99ykr-fzf-0.40.0/bin/fzf
       > [resholve context] RESHOLVE_INPUTS=/nix/store/b8f1l8xliqcg8iz2xx7gms0k88r99ykr-fzf-0.40.0/bin
       > [resholve context] RESHOLVE_INTERPRETER=/nix/store/8fv91097mbh5049i9rglc73dx6kjg3qk-bash-5.2-p15/bin/bash
       > [resholve context] /nix/store/flhjs88iz0mczaw3qifci7smxx1gaq0y-resholve-0.9.0/bin/resholve --overwrite bin/fanger
       >   nav=$(ls -ap --color=always -1 | fzf --ansi -q "/ " --header="$(pwd)")
       >                                    ^~~
       > '/nix/store/m0f6vnn5a8lmsj0c64kracmsy29p3ca8-fanger/bin/fanger':2: 'fzf' _might_ be able to execute its arguments, and I don't have any command-specific rules for figuring out if this specific invocation does or not.

I had this error before and I looked into providing binlore through exercer. But as you can see the lore is provided and the error still continues.
Is this a misconfiguration on my side? Is the bash expression too complex? Or potentially a bug?

Is the nix expression public?

Now that I'm at a computer I see the issue:
RESHOLVE_EXERCER should be RESHOLVE_EXECER. If you're using the Nix API, this public example using fzf may help clarify:
https://github.com/PedroHLC/system-setup/blob/513dec0a3b59d28022e9a69bd826e26fc75b0b7b/shared/pkgs/fzf-bluetooth.nix#L32-L45

Thanks for the quick response, and yes it was just a typo inside resholve.writeScriptBin. I thought it was correct since a variable was getting set, but I see how any attr gets set there.


attributerror

Hi
I am using a Spin5 local board.
Python:2.7
Numpy: 1.13.3
nengo: 2.6
nengo_spinnaker:0.4.0
on Ubuntu:14
when I try to "python learn_associations.py"
The example is unable to run with the following error.
File "/usr/local/lib/python2.7/dist-packages/nengo_spinnaker/builder/ensemble.py", line 166, in build_lif
max_rates = ensemble.sample(ens.max_rates, ens.n_neurons, rng=rng)
AttributError:'module' object has no attribute 'sample'
May I know what is wrong?
Rgds
Del

Hmm, that shouldn't be happening....  Could you post the full error message?

Thanks for the quick reply. Here it is:
Intercept: 0.695247434695
Traceback (most recent call last):
File "learn_assoc.py", line 83, in
sim = nengo_spinnaker.Simulator(model)
File "/usr/local/lib/python2.7/dist-packages/nengo_spinnaker/simulator.py", line 114, in init
self.model.build(network, **builder_kwargs)
File "/usr/local/lib/python2.7/dist-packages/nengo_spinnaker/builder/builder.py", line 205, in build
self._build_network(network)
File "/usr/local/lib/python2.7/dist-packages/nengo_spinnaker/builder/builder.py", line 221, in _build_network
self.make_object(obj)
File "/usr/local/lib/python2.7/dist-packages/nengo_spinnaker/builder/builder.py", line 235, in make_object
self._builders[type(obj)](self, obj)
File "/usr/local/lib/python2.7/dist-packages/nengo_spinnaker/builder/ensemble.py", line 146, in build_ensemble
ensemble_builders[type(ens.neuron_type)](model, ens)
File "/usr/local/lib/python2.7/dist-packages/nengo_spinnaker/builder/ensemble.py", line 166, in build_lif
max_rates = ensemble.sample(ens.max_rates, ens.n_neurons, rng=rng)
AttributeError: 'module' object has no attribute 'sample'

Argh, that's my fault.  The most recent version of nengo_spinnaker fixes this bug, but it's not set up to auto-install that recent version yet.
One solution is to go back to an older version of nengo by doing pip install nengo==2.2.0.  However, a better solution is to install the latest version of nengo_spinnaker.
Do this by downloading the latest version here: https://github.com/project-rig/nengo_spinnaker/archive/master.zip then unzip the folder, go into the directory that has setup.py in it, and do pip install -e .
That should fix things!  Let me know if that works or if anything isn't clear....

Hi,
Excellent! It works now.
Thanks and Regards
Del


Stripe - Auth0 - Mailchimp integration

@gzukowski thanks, could we also add README to each with what it is + how to run?

I was thinking of adding a readme for each sequence and one, for the whole of this


Fix false negative in URL_VALIDATOR

As shown in the docs, the path segment after /commits/ can be a SHA or any ref. I'm using the ref case and my code is being littered with Octokat BUG: Invalid Path. If this is actually a valid path then please update the URL_VALIDATOR. path=https://api.github.com/repos/.../.../commits/myref. Hope this helps!

I've run into this issue when using a shortened SHA. For example, the URL https://api.github.com/repos/loot/loot/commits/c253e9e2 is perfectly valid, but Octokat doesn't like it, because it's SHA part isn't 40 characters long.

@philschatz thoughts on this?


service tests for [libscore]

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @chris48s!

  Generated by :no_entry_sign: dangerJS


[5.1] Add string representations of boolean values

true/false values from ajax request get cast to string so validateBoolean() currently returns false for these values.

:-1:

This is a breaking change in behaviour.

They don't really get casts to strings though do they? At least not in my experience when using Angular / Vue.

They do when posting with jQuery (I've only just started looking into Vue and I haven't used Angular before).
I've found a few pages on the issue that support what I've found:
jQuery Forum
SO Question
So Question
However, if I am just missing something then my I'm sorry.
Also, apologies, I should have read the tests for this method before submitting my request.
Either way, I know I can always just use 1/0 instead of true/false for submitting requests, however, it just seemed to be more readable and accurate to use the correct data types when using jQuery.

What about using filter_var @GrahamCampbell @taylorotwell ?
/**
 * Validate that an attribute is a boolean.
 *
 * @param  string  $attribute
 * @param  mixed  $value
 * @return bool
 */
public function validateBoolean($attribute, $value)
{
    return filter_var($value, FILTER_VALIDATE_BOOLEAN);
}


What is the officially supported Node version(s)?

What type of issue is this?
Question
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Target SharePoint environment
SharePoint Online
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[X] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details
No response
Issue description
On this documentation page  it says:

The SharePoint Framework v1.12.1 is supported on the following Node.js versions:

Node.js v10.13.0+ (Dubnium)
Node.js v12.13.0+ (Erbium)
Node.js v14.15.0+ (Fermium)

But in this issue (september 2020), someone said to downgrade Node v12 to v10:

your node version is 12 which is still not supported by spfx. Use nvm to install node version 10 and use the version 10.

Also in this issue:

For what its worth, it sounds like there is a compatibility issue with your version of Gulp/Node and this solution. Please be aware you need to use Node 8 or 10 with this solution and gulp v3

I have the same issue (and node version) that the guy who posted there (when following the Microsoft documentation https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/build-a-hello-world-web-part), so I'm now confused about which version of node is officially supported? It would be nice to have it displayed on https://github.com/SharePoint/sp-dev-docs – maybe it's a Gulp issue, but again it would be nice to have some info…
Thanks

This depends on the SharePoint Framework version. The latest SharePoint Framework v1.12.1 has been released a few days ago, and it adds support for Node.js v12.13.x & v14.15.x. The official article is here: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/release-1.12.1
In the previous version of SharePoint Framwork, it doesnot support node js v12. You could refer to this article : SPFx Compatibility Matrix
These issues you mentioned, the developers were using previous version of SharePoint Framwork, which only support node v8 or v10.
So, if you have installed the lastest SharePoint Framework version v1.12.1, you can use node v12 and v14.
Michael Han
Microsoft SharePoint Community Support

Thanks, Michael.
I just cloned the repo from https://github.com/pnp/sp-dev-fx-webparts/ and the version of SPFx modules are 1.11.0 in package.json. So I changed all 1.11.0 to 1.12.1 as shown in my package.json:
{
  "name": "js-display-list",
  "version": "2.0.0",
  "private": true,
  "engines": {
    "node": ">=0.10.0"
  },
  "main": "lib/index.js",
  "dependencies": {
    "@microsoft/sp-core-library": "1.12.1",
    "@microsoft/sp-office-ui-fabric-core": "^1.12.1",
    "@microsoft/sp-property-pane": "1.12.1",
    "@microsoft/sp-webpart-base": "1.12.1",
    "@types/es6-collections": "^0.5.32"
  },
  "devDependencies": {
<EMAIL_ADDRESS>"^0.10.9",
<EMAIL_ADDRESS>"0.3.5",
    "@microsoft/sp-build-web": "1.12.1",
    "@microsoft/sp-module-interfaces": "1.12.1",
    "@microsoft/sp-tslint-rules": "1.12.1",
    "@microsoft/sp-webpart-workbench": "1.12.1",
    "@types/chai": "3.4.34",
    "@types/es6-promise": "0.0.33",
    "@types/mocha": "2.2.38",
    "@types/webpack-env": "1.13.1",
    "ajv": "5.2.2",
    "es6-collections": "^0.5.6",
    "gulp": "~3.9.1",
    "tslint-microsoft-contrib": "5.0.0"
  },
  "scripts": {
    "build": "gulp bundle",
    "clean": "gulp clean",
    "test": "gulp test"
  }
}

Then I ran npm install. I have Gulp v3.9.1, and Node v12.16.1 and I keep getting the same error with gulp serve:

ReferenceError: primordials is not defined

By checking the release page I found I should now use Gulp v4.0.2, so I installed it and the error is gone, but gulp serve (as indicated in the documentation) is not defined because it's now deprecated with v1.12.1 – finally I've been able to use gulp serve-deprecated to execute the example…
The samples need to be updated, as well as the documentation. Running an example should be quick and easy!
Thanks for your quick reply anyway!

@Aymkdn , Yes in an ideal world, all solutions and samples would be running the latest version. However, SPFx 1.12.1 was just released a couple days ago, and we have hundreds of samples. It's is inconceivable and unlikely we'd be able to update them all when it's released. Nor would that be a great idea until we know that the latest version is stable to use. Generally speaking, the Microsoft docs will be more up to date than the samples as a result.
There are many samples in that repo that use much older version for compatibility reasons. It is up to the developer to make sure they check which version the samples are using and have the proper development environment set up to use them. Use the compatibility matrix to help guide you. https://docs.microsoft.com/en-us/sharepoint/dev/spfx/compatibility
For the SPFx 1.11 samples,  You need to use Node 10, and you should be using Gulp 3.

Thanks. I hope this thread will help other developers :-) I'm closing it now.


Example file need updates

Hi
It seems like the is a typescript error in the example file here
The code new HttpError(code, HttpError.messages[code]); throws Element implicitly has an 'any' type because expression of type 'number' can't be used to index type

export class HttpError extends CustomError {
  protected static messages = {
    400: 'Bad Request',
  };

  public constructor(public code: number, message: string) {
    super(message);
  }

  public static fromCode(code: number) {
    return new HttpError(code, HttpError.messages[code]);
  }
}

What about:
export class HttpError extends CustomError {
  protected static messages = {
    400: 'Bad Request',
    ...
  };

  public constructor(public code: number, message: string) {
    super(message);
  }

  public static fromCode(code: keyof typeof HttpError.messages) {
    return new HttpError(code, HttpError.messages[code]);
  }
}

fixed with https://github.com/adriengibrat/ts-custom-error/commit/9e29873298e2c58dfdc24b262976ea9aa8138f90


Map not shown in Safari

Simple notice,
changing the dimensions map div, any layer painted on map disappear.
Only on  Safari browser.
No error is signed on console.
There is a mode devolp to solve or is a bug ?
Thanks
Franz

Can you publish a fiddle/codepen/plunkr that displays this behaviour?

https://plnkr.co/edit/8l7RFGlGpozDLalW0DWY?p=preview
Go in Fullscreen then return in small window and clusters disappear.
Thanks a lot
Fra

Cross posted on SO: https://stackoverflow.com/questions/51776716/leaflet-fullscreen-clustermarker-disappear
Your Plunker works fine for me on Safari 11.1.2 (macOS 10.13.6)

Closing due to inability to reproduce the issue and lack of activity.

I am facing the same issue now. what information I can share to help to fix it?

Hi @idubinets,
Please open a new issue, you will have issue template with required fields.
Thank you!

Have the same issue.

@Gouet can you please describe what are you doing and create a sample www.leafletjs.com/edit.html - We need both else we can't help you

Ok I have found why it didn't work FOR ME.
I was using calc in my css for the height.
I was doing that :
height: calc(100% - 60px);
The solution was :
height: calc(100vh - 60px);
Don't know if it helps but I put my solution here.

leaflet map is not showing in safari with elementor


Copy/pasting too fast?

Your license comments in the code contains:
` *

Do not edit or add to this file if you wish to upgrade PrestaShop to newer
versions in the future. If you wish to customize PrestaShop for your
needs please refer to http://mage2.website for more information.
*`

@ReneKirk Thanks

https://github.com/mage2/laravel-ecommerce/blob/master/modules/mage2/ecommerce/src/Http/Controllers/WishlistController.php
 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
 * versions in the future. If you wish to customize PrestaShop for your
 * needs please refer to http://mage2.website for more information.

thanks @ReneKirk & @mauran


Profile photo

Hi I cannot change the avatar photo with a photo of me. Please help me sort this out.

See https://sourcethemes.com/academic/docs/get-started/#introduce-yourself or post on forums for support

Thanks!!

From: gcushen<EMAIL_ADDRESS>Sent: Sunday, June 23, 2019 2:26 AM
To: gcushen/hugo-academic
Cc: Ioannis Papadakis; Author
Subject: Re: [gcushen/hugo-academic] Profile photo (#1150)
See https://sourcethemes.com/academic/docs/get-started/#introduce-yourself or post on forums for support
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/gcushen/hugo-academic/issues/1150?email_source=notifications&email_token=AMMZIJO3K22W4VKXFCU6KYTP36BYLA5CNFSM4HZ4BZM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYK7WUQ#issuecomment-504757074, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMMZIJNBE2UC23UZYLSB76DP36BYLANCNFSM4HZ4BZMQ.


Add Option and text not aligned properly in Add Volume

Version - master 2/11
Steps:

Create and start Gluster FS
Create and start Convoy Gluster FS
Go to Storage Pools page and click on Add Volume

Results:  Driver Options text and +Add Options are not aligned

Expected:  Should be aligned together.

resolved in https://github.com/rancher/ui/pull/470

Version - master 2/17
Not fixed - this is still not aligned, looks exactly the same as before.

resolved in https://github.com/rancher/ui/pull/481

Version - master UI version 0.91.0
Verified fixed


Minor schema updates

Related issues
Refs: N/A
Describe the changes made in this pull request
This PR updates some minor schema parts, e.g.

I replaced anyOf with oneOf, because we don't have cases where we want to match more than 1 subschema simultaneously
I replaced singular value enums with just a const
I replaced definitions with $defs as per the recommended practice ($defs was introduced in JSONSchema draft 2019-09 BTW, and we need draft 2019-09 if we want to have extensible subschemas, for example an item in contributors that extends person in PR #463)

Review checklist

[x] Please check if the pull request is against the correct branch
(format/schema/semantic documentation changes: develop; typos, meta files, etc.: main)
[ ] Please check if all changes are recorded in CHANGELOG.md and adapt if necessary.
[x] Please run tests locally.

cd $(mktemp -d --tmpdir cff.XXXXXX)
git clone https://github.com/citation-file-format/citation-file-format .
git checkout <branch>
python3 -m venv env
source env/bin/activate
pip install --upgrade pip wheel setuptools
pip install -r requirements.txt
pytest
<do other things>

[ ] <do other things>

As to updating the CHANGELOG, I think we can forgo doing so if we decide that developer changes do not need to be tracked, see https://github.com/citation-file-format/citation-file-format/pull/458#issuecomment-1757834269

As to updating the CHANGELOG, I think we can forgo doing so if we decide that developer changes do not need to be tracked, see #458 (comment), there's no noticable difference made by this PR from a user perspective.

I agree, only user-facing changes should be recorded in the changelog.

Thanks for the review! :partying_face:


Updating to cocoapods 1.0

I don't know if this is sufficient. It seemed to work for me with the following setup

Installed cocoapods 1.0 with gem install cocoapods
Installed the gem locally with gem build cocoapods_links.gemspec && gem install --local cocoapods-links
Run pod link and pod link xxx

Will it work with the cococapods app? I have so many questions in my head about the plugins architecture.

Please give me some feedback on this.

Bump 😀

hello :)

To install
cd $(mktemp -d) && git clone git@github.com:hfossli/cocoapods-links.git && cd cocoapods-links && sudo gem build cocoapods_links.gemspec && gem install --local cocoapods-links && cd .. && rm -rf `pwd`

Sorry all. I haven't been able to be attentive to this.

No problem. :) Would be awesome if you can publish this :)


create operatorgroup

create operatorgroup in ibm-common-services when common service operator is deployed in openshift-operators namespace

/lgtm


Rework for revised omggif with buffer allocation

omggif now fixes the few issues I had. I also learned that I'm not managing memory allocation properly for omggif. This shouldn't result in errors with the current gifwrap, but I'd like to be able to rely on the external omggif package and get bug fixes for free.
TODO: Revise buffer allocation strategy and make sure everything works with the new omggif package. If so, remove omggif.js from the distribution and depend on the package itself.

Completed with latest push, bumped minor version to 0.6.0.