Not re-sizing with a dropdown

We have a page which creates a Bootstrap ul/li dropdown list.  When the page loads I see the dropdown but when it it keyed, I see the dropdown content which is larger that the iframe to disapear at the bottom since the iframe does not resize.  What can we do for it to resize?  Thanks

Try using different hightCalculationMethods, I expect the list goes outside the body tag, which the default method uses to calculate the size.

Thanks, I got it to work now using lowestElement when needed
On Wed, Oct 14, 2015 at 9:54 AM David J. Bradshaw<EMAIL_ADDRESS>wrote:

Try using different hightCalculationMethods, I expect the list goes
outside the body tag, which the default method uses to calculate the size.
—
Reply to this email directly or view it on GitHub
https://github.com/davidjbradshaw/iframe-resizer/issues/272#issuecomment-148056391
.


Work towards conversational upgrade

Okay, @Tuguar. That was good. A couple duplicates, but I fixed those when I merged them into the code.
Drop me a message on Facebook for your next task :)

Okay, so.  Not to mention, there's a slight issue with the code I sent you (That was on purpose, trust me!)
There's something they say in the world of coding and that's "Don't Repeat Yourself" - I'll show you why.
What we did there took up 379 lines of code. Now that's a lot. If instead, we made a function out of the code which repeats and called that function each time, we'd be able to do it in around 10 lines of code.
As well as saving space, using a function allows for quick reviewing of errors.
At L34, create two new blank lines. In the middle of the now three blank lines, create a function, on L35.
To do this, you will need to define the name of the function and its arguments. That would be def question(name, verbose):
def is used to tell the Python interpreter that you're defining a new function. question is the name of the function. Inside the brackets, we have name and verbose. name will be the name of the variable we're going to use. verbose is where the actual question will go. I use the term verbose because it's used in the coding world to describe a human readable string. I think. At least.
You will need to grab the segment of code I originally sent you, and put that inside the function. So now we have
def question(name, verbose):
	question = await self.bot.say("What is your Total XP")
	answer = await self.bot.wait_for_message(timeout=30, author=ctx.message.author)
	if answer:
		if 'skip' is in answer.content.lower():
			pass
		else:
			xp = int(answer)
	else:
		await self.bot.edit_message(question, timeout_text)

But now, we need to replace the questions and the variable with what gets given to the function. So replace "What is your Total XP" with verbose and xp = int(answer) with name = int(answer).
Again, we're gonna have issues. name is expecting a string, so this line ends up becoming "xp" = int(answer), which will give us a syntax error.
Because we're using a function, we can use returns. A return is a value that is returned when you call the function. This means we can scrap name and have it return the value of answer.
We now have:
def question(verbose):
	question = await self.bot.say(verbose)
	answer = await self.bot.wait_for_message(timeout=30, author=ctx.message.author)
	if answer:
		if 'skip' is in answer.content.lower():
			return None
		else:
			return int(answer)
	else:
		await self.bot.edit_message(question, timeout_text)

But there are still issues:
The first line of the function redefines question as a Discord Message Object, meaning that the function, once ran, won't run again, because any future references to it, will reference the Discord Message Object (await self.bot.say(verbose)) - so we're gonna change the variable for that line to just message
We had a reference to timeout_text before but now we're not copy and pasting everywhere, we can just put the string directly. So now grab the string from L336 and paste that in place of timeout_text.
Only one problem left, as far as I can tell right now, and that's the second line of the function: answer = await self.bot.wait_for_message(timeout=30, author=ctx.message.author)
It references ctx, which is the context of the command which trigger overall. This just needs to be passed through, which as simple as adding a ctx argument to the function.
So now, the function should look like this:
def question(ctx, verbose):
	message = await self.bot.say(verbose)
	answer = await self.bot.wait_for_message(timeout=30, author=ctx.message.author)
	if answer:
		if 'skip' is in answer.content.lower():
			return None
		else:
			return int(answer)
	else:
		await self.bot.edit_message(message, "You failed to answer in time, skipping this field.")

Now, for each line instance you did before, replace it with a one-liner:
a = question(ctx, verbose=b)
where a is the options from the list I gave you, and b is the Questions you wrote. For example:
		xp = question(ctx, verbose="What is your Total XP")
		dex_caught = question(ctx, verbose="In your Pokédex, how many Pokémon have you caught?")

Please don't just copy my code, I'd like it if you were to do it yourself. :) It's good practice

@Tuguar You forgot eggs_hatched


Ability to animate elements with visibility

Currently the show and hide change the display property.
Add an option to use visibility, to let the element occupy the space even when hidden.

Update:
I'm working on enhancements for the way, this package handles positioning while animating.
Also performance improvements are on it's way.


Change error API from failure as it's deprecated

failure is deprecated so it might be a good idea to change to one of it's successors.
here's what it says on the repository:

Notice: failure is deprecated. If you liked failure's API, consider using:
Anyhow is a good replacement for failure::Error.
thiserror is a good, near drop-in replacement for #[derive(Fail)].

I have personally mostly used thiserror so I might be able to try and do a conversion if that one is wanted.
I will gladly try the other as well though if that's the case as I'm bringing it up:)
Thanks for all the work into this project:)!

Release v1.0.0 replaces error handling with anyhow. Unfortunately this release is not available on crates.io, but you can change your dependency to the commit tagged by v1.0.0
[dependencies.headless_chrome]
features = ["fetch"]
git = "https://github.com/atroche/rust-headless-chrome"
rev = "fd9ba91"

but you can change your dependency to the commit tagged by v1.0.0

Or even better, put the tag in our Cargo.toml, https://github.com/atroche/rust-headless-chrome/issues/323#issuecomment-1250131913.

Oh, a bit confused though.
why is it not on crates.io?
is it different owners or something?

Oh, a bit confused though.
why is it not on crates.io?
is it different owners or something?

I don't have access to the crates.io so it's not updated there

ah that's problematic.
hopefully it's solved in the future, or perhaps a separate release on crates.io is needed.
will use github for now, thanks:)

Is there a way to write the type of an error produced by this crate? They are of type anyhow::Error/anyhow::Result, but this type isn't exported by rust-headless-chrome which makes writing functions that bubble errors up hard to write. A re-export of those types, or type aliasing to pub headless_chrome::Error/pub headless_chrome::Result would be very helpful.

@rben01 Add anyhow as a dependency to your crate.

@mbergkvist Thanks, but I'd rather not add a crate as an additional dependency just to unlock the ability to refer to this crate’s own errors. Most crates expose their Result and Error as public types so that downstream consumers can just use them as is.

@rben01

ability to refer to this crate’s own errors

That is the problem I think; they don't have their own errors, they have anyhow's errors. Utilizing thiserror would probably have been a better choice since this is a library, not an application, but that is not how it is.

I'd rather not add a crate as an additional dependency

By using this crate, you are already depending on anyow anyway.


Prophet results issue

Project Robyn
Describe issue
Not 100% sure if these are errors or questions:
Why is "Trend" very negative on waterfall predictor but not on prophet decomposition? (This is the case on all models)
Why are values showing a baseline >0 on prophet if any negative spikes occur?
Why are events showing negative spikes when context variable is set to positive?
Provide reproducible example

Trend from prophet serves as a predictor in Robyn and will obtain a beta coefficient that's can be positive or negative, as shown in the waterfall. It's true that negative trend is hard to interpret. You could constrain the beta for trend to positive by setting prophet_var_sign = "positive" for trend. Check ?robyn_inputs for the usage of this param.
Not sure what you mean. Are you saying "ufc" in your prophet plot has a positive baseline? Is it a categorical variable? If yes, and if you want to have the baseline at 0, you can set the 1st level of this variable to the most frequent level.
Negative spike in a categorical variable just mean that that specific level has negative coefficient from Prophet.

Thanks gufengzhou.
So point 1 I understand, I will take a look at the robyn inputs
Point 2 if I follow correctly, as "UFC" is categorical, you're saying we should set the base level to 0 for example? I have done this already but let me know if I am misunderstanding
Point 3 shouldn't forcing the context variable to be positive also provide a positive response in prophet? Or is this not taken into consideration when prophet is calculat
raw_data_fb.csv
ing?

As closing comment, sometimes non-media variables might be difficult to interpret due to how the data is collected (scores, categories, centerred around 0 etc.). Usually we recommend to group all non-media into "baseline" for easier interpretation. Check ?robyn_outputs and you'll see the argument baseline_level. With baseline_level = 4, you'll aggregate all none-paid and none organic into baseline in the onepager, for example.


Increase text size

The main body text size is smaller than most sites use. A larger size will look more chunky and also increase the space that the limited text (1-2 paragraphs) our site uses for most things takes up. It will also look better on a mobile device.

On my monitor, the site looks best with the text at 125% larger. Can we start there? See this page for an example of what a lot of text looks like:
http://dsiufl.github.io/www.dsiufl.org-2016//workshops/spark/

Increase the font size of work shop posts from 14 pt to 16 pt by adding a script to force to do so.
Can't overwrite the body font size because other fonts are related. Or we need to start over with customized font size sets. See: http://stackoverflow.com/questions/28678542/how-to-change-bootstraps-global-default-font-size

Fascinating, I guess let's leave it as is for now. I want to try to get the site up in some form soon. This can be a refinement later.


Fix unit tests as an AssertionError was triggered while listing the metadata

When I created a PR for adlfs at https://github.com/fsspec/adlfs/pull/323 I found out that the unit tests triggered by azure-pipelines.yml were failing not just for my PR but for all the other PRs, and since mine just changed a docstring, that means that the unit tests were failing before.
So I did a little bit of research and found out that in the stable version of Dask as explained at https://docs.dask.org/en/stable/generated/dask.dataframe.to_parquet.html#dask.dataframe.to_parquet, you need to manually set the value for write_metadata_file when calling .to_parquet so that not just the parquet files are written, but also the metadata (both _metadata and _common_metadata directories).
So on, adding the parameter write_metadata_file=True in all the .to_parquet calls fixes the issue, and the tests are passing again.

Hi @hayesgb, could you please check this PR? Thanks :hugs:

Thanks!


BSD sed seems not working with \+ (1 or more) in BRE mode

Hi there, thank you for your brilliant work.
Here is the question I found in macOS:
# BSD sed print nothting
echo '<tag>foobar</tag>' | /usr/bin/sed -n 's|<tag>\(.\+\)</tag>|\1|p'
# GNU sed is okay
echo '<tag>foobar</tag>' | /usr/local/opt/gnu-sed/libexec/gnubin/sed -n 's|<tag>\(.\+\)</tag>|\1|p'
foobar

Is the BSD version not working with \+? If not, maybe some information should be noted in the cheatsheet.
Correct me if I was wrong.

Also a workaround for BSD version: use ..* instead of .\+.

Apparently \+ is only for "enhanced basic REs" as per MacOS re_format(7).
xx* and x\{1,\} are the only reliable options. Thanks for reporting, I will remove this from the sheet.


Signing in via Facebook and then Twitter will create two different accounts even if same email used

This is a known core issue in Meteor whereby oauth signin doesn't try to match user records based on email.  The reason why I add this is that it also creates an issue when inviting a user.  If the same email account has already been invited, the new user account that is created cannot be invited.
Possible solutions:

Override this part of meteor AccountsBase (I have done this before on another project and I'm happy to make a PR if you want to go this way)
Until Meteor resolves this issue in AcocuntsBase, change invites to match userIds rather than invited emails such that each account created in core Meteor can be invited

Happy to implement the fix, let me know which way you want to go @SachaG
Elliott

Hi @em0ney,
this is something we appreciate, but it's a very delicate problem (see also #660).
Telescope uses user accounts to deal with login/logout stuff and at the moment this part is still not covered (even if I had some previous work on accounts-meld which will be integrated,  sooner or later. See the Milestones for useraccounts).
There are some tricky parts to be securely addressed before going public with this, and the most of the effort should be put in ensuring already existing (multiple) accounts won't be affected by the new code.
Btw, if you had other previous experiences about melding accounts I'd be happy to discuss this together and see whether there's something good in your solution to be picked up.
Lets have a look at the code for accounts-meld and let me know what do you think!
Cheers,
Luca

To be honest the invite code should probably be overhauled, and maybe made to work as a plugin of User Accounts.

...yeah, invites are another thing on the roadmap :(
If I can manage to wrap up things with autopublish.meteor.com by next week, I'll switch back to<EMAIL_ADDRESS>to provide a little skeleton on which we can start adding stuff like invites :)

Hi @splendido
I like the look of accounts-meld.  A more robust implementation of the same thing.  I like the fact that you have configurable options to ask before melding etc.
Why not use accounts-meld on telescope and track whether a user has been invited by the userId?  Guaranteed to have 1 invite per person that way.
Could always put some effort in to some sort of a 'telescope-admin-meld' menu to assist in the initial migration to melding existing user accounts.  Happy to help with this.
Elliott

@em0ney as I said I'd like to get it integrated with<EMAIL_ADDRESS>Before that time I'm not keen to play with temporary integration for Telescope.
One of the reasons, for example, is I'm not going to user the registered-emails field anymore, but leveraging the regular emails one. This would create intermediate situations which might be difficult to migrate in the future...
I'll ping you once I'll have the structure for<EMAIL_ADDRESS>ready to play with.
In the meanwhile lets try to see how http://test-accounts-meld.meteor.com/ palays.
Code here
I hope you can appreciate my feelings.

Hey, folks! Telescope has changed a lot in the past months, and there is a new React-based version, Telescope Nova (intro video). If you know Crater, it runs on the latest version.
The Legacy version is no longer supported, and this issue has been fixed on Nova 😄  I'm closing this issue.
I invite you to check the new version, it's awesome!
Happy hacking! 🚀
Ps: by the way, don't hesitate to join the Slack to ask any question, you are welcome! 👍


Implement WriteFilesExecTransformer discussion

Description
Since Spark 3.4 introduced the WriteFilesExec operator to facilitate write operations in SPARK-41708, we can utilize the WriteFilesExec operator to implement native Parquet write. This can be achieved by adding a WriteFilesExecTransformer and offloading the process to the Velox TableWriteNode. To achieve this, consider the following implementation steps that we can discuss together:

Add WriteFilesRelNode.

Add WriteFilesExecTransformer.

Implement doExecuteWrite(writeFileSpec: WriteFileSpec): RDD[WriterCommitMessage] in WholeStageTransformer.scala. Invoke the doExecuteColumnar() method in  in WholeStageTransformer.scala  to write the data. Capture the returned RDD[ColumnBatch]. Construct an RDD[WriterCommitMessage] by following these steps:

The ColumnarBatch returned by TableWriteNode contains row, fragments, context as below.
Enhance it by adding partition column and stats column.
Build the ExecutedWriteSummary object based on above stats information.
Finally, create a WriterCommitMessage.

Note: the current output layout in TableWriteNode is as below:
 // Page layout:
 // row     fragments     context    [partition]    [stats]
 // X         null          X        [null]          [null]
 // null       X            X        [null]          [null]
 // null       X            X        [null]          [null]

Do you have any input？@ulysses-you @zhztheplayer @zhouyuan

thank you @JkSelf ,
For 2, the new added transformer should inherit the WriteFilesExec, an example in vanilla Spark is ColumnarWriteExec.
For 3, can you clarify a bit more what is the fragments and context ?
If I understand it correct, the new version of write data pipeline is, right ? We just need pass the iterator to native side and return write result back after all columnar batch are written.

One thoughts: could we do async write in native side, instead of in java side?

@binmahone FYI

Thanks for your prompt reply. @ulysses-you

For 1, do we really need WriteFilesRelNode ? It seems rel node is only used when there is a mapping at native side. Do we want to add a write file native operator ?

We require WriteFilesRelNode to utilize the native TableWriterNode operator offered by Velox directly.

For 2, the new added transformer should inherit the WriteFilesExec, an example in vanilla Spark is ColumnarWriteExec.

My suggestion is to directly inherit UnaryExecNode instead of inheriting WriteFilesExec. This allows us to include WriteFilesExecTransormer  inside the WholeStageTransformer.

For 3, can you clarify a bit more what is the fragments and context ?
If I understand it correct, the new version of write data pipeline is like below. We just need to pass the iterator handle to native side and return write result back after all columnar batch are written, right ?

The fragement and the context are all some metric info. And the detailed information is here: fragement  and context
The native write pipeline is as below.

Our  focus is to implement the doExecuteWrite method. By calling doExecuteColumnar, we offload the writing operator to Velox. The TableWriter operator in Velox handles the file writing operation and returns the RDD[ColumnarBatch]. This RDD contains the necessary information for creating the RDD[WriterCommitMessage].

One thoughts: could we do async write in native side, instead of in java side?

@Yohahaha  Good point. Velox has now implemented the native operator TableWriteNode. To proceed, our initial step is to enable TableWriteNode and subsequently focus on optimizing asynchronous writing for performance improvement.

@JkSelf OK, I got your point. However, we must make it inherit WriteFileExec due to there is a check in vanilla Spark. It's better to put the WriteFileExec node at the top level node of plan. Otherwise we should impelemnt executeWrite for WholeStageTransformer. So, I think the plan tree should be:
 ColumnarWriteFile (inherit WriteFile)
        |
 WholeStageTransformer
        |
 WriteFileTransformer (mapping to native TableWriteNode)
        |
      query

I think the pipeline you point out is same with mine, and it would make confused... The native side can not return rdd, it should return something like WriteResult object.

@ulysses-you Indeed, with the introduction of the ColumnarWriteFilesExec operator, there is no need to implement the doExecuteWrite() method in the WholeStageTransformer. Instead, we can implement the doExecuteWrite() method within the ColumnarWriteFilesExec class itself, which improves code clarity.

One thoughts: could we do async write in native side, instead of in java side?

@Yohahaha Good point. Velox has now implemented the native operator TableWriteNode. To proceed, our initial step is to enable TableWriteNode and subsequently focus on optimizing asynchronous writing for performance improvement.

I think probably it's Velox's job to implement async write. The current async write code in Java was for the old Arrow parquet writer which was dropped long time ago. It was neither designed for performance purpose, nor for Velox's parquet writer.

@zhztheplayer  Yes, once we have support for WriteExecTransformer, we will remove the Java-side asynchronous write code. In the future, we may also consider implementing asynchronous writing support in the TableWrite operator of Velox, if necessary.


3lang: Tfgrid: define 3lang language for Tfgrid and implement parsing

3lang is a language that the users can use to tell the web3_proxy what calls to execute. It should be very user friendly and easy to write. It is based on markdown syntax. Look at this issue to see an example.
With this issue we want to define the language for all functionality from the tfgrid client:

[ ] Translate all possible/logical calls from V library (only tfgrid client) to actions from markdowndocs
[ ] Prepare example of markdown files that show us how the user would do specific things (deploy vms, etc)
[ ] Let @brandonpille review before Kristof can review
[ ] Implement the parsing part

I was going through the examples and the manual. The network given in the vm creation is unclear to me. In the examples  and the manual skynet is used but should this be an already created network, is it created  and if so, what is the scope?

Is there a good reason why vm actions are !!tfgrid.machines while the example in the story mentioned above uses !!tfgrid.vm ?

please walk over with me to check

syntax
documentation
example scripts
functionality

we will make issues for missing or not good enough items

please walk over with me to check

syntax
documentation
example scripts
functionality

we will make issues for missing or not good enough items

lets close this one for now, and replace by a new one

see new one


typos

section: formatting text
template literals
The comment output is wrong
${myString1}, ${myString2}! //Hello World!
it should be:
Hello, World!

Please feel free to open a PR


Help with configuring JSON to display accessories in Homekit

Hi,
I’m not familiar with programming Homebridge, it's new for me.
Here at home we got 5 Heater/Cooler-units connected to MELCloud and would like to use them though HomeKit with Homebridge.
I already followed the steps as given here: https://github.com/grzegorz914/homebridge-melcloud-control but don't know how ti configure the JSON-file in there.
I installed the MELCloud Control Plugin as written:

These are the Heater/Cooler-units that are showing up in the "accessories" tab in homebridge:

This is the code that already exists in the "configure" tab in homebridge (also see for the screenshot if not clear):
{     "bridge": {         "name": "Homebridge FA32",         "username": "deleted here for privacy reasons",         "port": 51305,         "pin": "deleted here for privacy reasons",         "advertiser": "bonjour-hap"     },     "accessories": [],     "platforms": [         {             "name": "HomeBridge",             "port": 8581,             "auth": "form",             "theme": "auto",             "tempUnits": "c",             "lang": "nl",             "platform": "config"         },         {             "accounts": [                 {                     "name": "Ruben Melcloud",                     "user": "deleted here for privacy reasons",                     "passwd": "deleted here for privacy reasons",                     "language": "12",                     "ataDisplayMode": 0,                     "ataPresets": false,                     "atwDisplayMode": 0,                     "atwPresets": false,                     "ervDisplayMode": 0,                     "ervPresets": false,                     "disableLogInfo": false,                     "disableLogDeviceInfo": false,                     "enableDebugMode": false,                     "enableMqtt": false,                     "mqttAuth": false,                     "mqttDebug": false                 }             ],             "_bridge": {                 "username": "deleted here for privacy reasons",                 "port": deleted here for privacy reasons             },             "platform": "melcloudcontrol"         }     ] }

This is the code that already exists in the "MELCloud Control" in the "plugin" tab in homebridge (also see for the screenshots if not clear):
{     "accounts": [         {             "name": "Ruben Melcloud",             "user": "deleted here for privacy reasons",             "passwd": "deleted here for privacy reasons",             "language": "12",             "ataDisplayMode": 0,             "ataPresets": false,             "atwDisplayMode": 0,             "atwPresets": false,             "ervDisplayMode": 0,             "ervPresets": false,             "disableLogInfo": false,             "disableLogDeviceInfo": false,             "enableDebugMode": false,             "enableMqtt": false,             "mqttAuth": false,             "mqttDebug": false         }     ],     "_bridge": {         "username": "deleted here for privacy reasons",         "port": 37449     },     "platform": "melcloudcontrol" }

Where do I put what code so the accessories show up in HomeKit-app?
Thanks in advance!
Ruben

Why you not use GUI to configure it? In most cases you need only set user, passwd and language. Are you added this accessory to HomeKit after configured?  https://github.com/grzegorz914/homebridge-melcloud-control/wiki#adding-to-homekit

OMG I was looking over it, misunderstood it at the first glance. I feel so dumb to be honest.
Thanks for helping (so fast 🥇)!
Here's a glimp that it succeeded:

Nice, Have fun.


Create list of reasons scientific code isn't open source

Session notes are here: https://github.com/yochannah/code-is-science/blob/master/content/posts/mozfest-session-2017.md
We need to:

Create a new folder under the content folder called /reasons (or maybe fears?).
populate fears from the notes doc above, possibly categorised
regenerate hugo.

<3


Linux ssh-agent/ssh-askpass problem

As already reported in #33814, #32097, #52137 the bug isn't fixed for me and the workarounds don't work either

VSCode Version: 1.26.1
OS Version: Ubuntu 16.04
Date: 2018-08-16T18:34:20.517Z
Electron: 2.0.5
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64
Shell: zsh

Steps to Reproduce:

Open a Git repo folder
Call a Git action like sync, push etc

Does this issue occur when all extensions are disabled?: Yes
I'm using ssh-agent to keep all my keys opened and enter the passwords after I boot (ssh-add ~/.ssh/id_rsa). I can use git from the terminal without any problems, but "use the terminal then" is not a valid workaround for me when a whole feature doesn't work.
I've set some configs in my ~/.ssh/config file as well
Host *
  ServerAliveInterval 60
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_rsa
Host gitlab.com
  HostName gitlab.com
  User git
Host github.com
  HostName github.com
  User git

But it still get this error when using a feature that calls a remote git action:
> git pull --tags origin master
ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists

I already tried installing ssh-askpass with sudo apt-get install ssh-askpass-gnome ssh-askpass but he asks me every single time for a password, so the ssh-agent is ignored

@joaomoreno No, i just installed it to try fix to error with vscode.
I have a script that adds all my keys with ssh-add after I login, then I enter my passwords. After that I'm never ask again until I reboot

Interesting. Are you also not asked if you're using Code's integrated terminal?
Where do you set that script up? In .bashrc? Could I see it?

I'm using zsh instead of bash. The interegrated terminal uses zsh as well, so there should be no difference to the normal terminal.
In my .zshrc I have
SSH_ENV="$HOME/.ssh/environment"
source ~/.dotfiles/.sshAgent

and my .dotfiles/.sshAgent file
function start_agent {
    echo "Initialising new SSH agent..."
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
    /usr/bin/ssh-add -t 432000 ;
}

if [ -f "${SSH_ENV}" ]; then
    . "${SSH_ENV}" > /dev/null
    ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
}
else
    start_agent;
fi

after running my .ssh/environment file looks like this:
SSH_AUTH_SOCK=/tmp/ssh-0xpADF7zw61c/agent.1158; export SSH_AUTH_SOCK;
SSH_AGENT_PID=1160; export SSH_AGENT_PID;
#echo Agent pid 1160;

Is it possible that your zshrc bails out earlier if it detects it is not an interactive session?

I don't think so. I even tried to set the integrated terminal to bash but it didn't change anything.
Maybe vscode is using its own ssh_auth_sock?

I meant it doesn't change anything with the integrated git in VSCode.
Both terminal shells work without any problems.
I will add my .zshrc when I'm at work.
If you have time, I would be available for a remote debugging session today/tomorrow from 10AM - 7 PM CEST

@derN3rd Sure, how about now? Give me an email address and I'll send you a meeting invite.

Sounds good<EMAIL_ADDRESS>

Sent!

In our screen sharing session we figured out what was happening:
@derN3rd uses i3 with rofi. He launches code from rofi, which finds executables in the PATH.  This is problematic since we never expected the CLI launcher executable to be launched in a non-shell environment, i.e. window managers. So, the CLI launcher behaves as if it was in a shell environment and doesn't run our getUnixShellEnvironment . The result is a Code instance which never got the chance to execute (in this case) .zshrc. So, the SSH agent is improperly configured.
For a fix, we need to have a better way for whatever process we put in the PATH to detect whether it is already in an environment which was populated with the user's RC files (whether it is a descendant of a shell process).

Was this fixed then or is there a workaround? I have the same issue

I have observed the same issue on Manjaro (XFCE). When started from a launcher, it ignores keys added through ssh-add.
Fixed this by ticking "Start in terminal" in the launcher, although this spawns a useless terminal window, so it's not a good solution.

I have observed the same issue on Manjaro (XFCE). When started from a launcher, it ignores keys added through ssh-add.
Fixed this by ticking "Start in terminal" in the launcher, although this spawns a useless terminal window, so it's not a good solution.

I was able to make it work on my Manjaro KDE installation after making a symbolic link from ksshaskpass to ssh-askpass.
sudo ln -s /usr/bin/ksshaskpass /usr/lib/ssh/ssh-askpass

Environment: Manjaro 18 KDE

I am also experiencing the same issue on Lubuntu 18.04.

Thank you for the topic.  I was able to solve my problem (I did not load askpass first) and this posting straightened me out. Thank you! Ubuntu 19.10

Is that a commad @joaomoreno that you meantioned? Because if it is then it doesn't exist on mine. (noob)
pranav@Exam:~$ ssh-askpass-gnome
ssh-askpass-gnome: command not found

In Ubuntu 19.10 I have same kindof issue.

This problem still exists with vscode 1.44 and dmenu (on latest Manjaro).

Fixed this by ticking "Start in terminal" in the launcher, although this spawns a useless terminal window, so it's not a good solution.

Didn't work for me either.
Starting vscode from a terminal manually works fine however.

I am also facing the same problem with vscode 1.43.2 running on Archlinux XFCE with fish shell.

Log:
Looking for git in: git
Using git 2.26.0 from git
> git rev-parse --show-toplevel
> git rev-parse --git-dir
Open repository: /home/farbod/webLab
> git status -z -u
> git symbolic-ref --short HEAD
> git rev-parse master
> git rev-parse --symbolic-full-name master@{u}
> git rev-list --left-right master...refs/remotes/origin/master
> git for-each-ref --format %(refname) %(objectname) --sort -committerdate
> git remote --verbose
> git config --get commit.template
> git show :index.html
> git show :resources/css/styles.css
> git ls-files --stage -- /home/farbod/webLab/index.html
> git ls-files --stage -- /home/farbod/webLab/resources/css/styles.css
> git cat-file -s 9d7ec2eb82367ceba1387feb891b8cbcc6a8c727
> git cat-file -s 409bb7f364f04190690c6f67d135fedcc58a6bfb
> git check-ignore -v -z --stdin
> git push origin master:master
ssh_askpass: exec(/usr/lib/ssh/ssh-askpass): No such file or directory
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Hello i had same problems with Code - OSS on Manjaro

Version : 1.44.2
Validation : ff915844119ce9485abfe8aa9076ec76b5300ddd
Date : 2020-04-23T19:32:05.786Z
Électron : 7.1.14
Chrome : 78.0.3904.130
Node.js : 12.8.1
V8 : 7.8.279.23-electron.0
OS : Linux x64 5.4.40-1-MANJARO

I use Manjaro with KDE  and he provide ksshaskpass i have simply create a symbolic link to his binary with and it's work
ln -s /usr/bin/ksshaskpass /usr/lib/ssh/ssh-askpass

I also tried openssh-askpass
ln -s /usr/bin/qt4-ssh-askpass /usr/lib/ssh-askpass
They are cool because may integrate better into the desktop environments.
In my tests only x11-ssh-askpass automatically create "/usr/lib/ssh/ssh-askpass"
Look the packages in your distribution i think you can find same packages

Taking some hints from @joaomoreno comment above: https://github.com/microsoft/vscode/issues/57488#issuecomment-417259290, In the context of KDE plasma, I now run code with a global shortcut that runs konsole -e code. This runs the app in a terminal and the terminal flashes up and disappears. The app then has access to the ssh-agent as per a regular bash terminal session. I imagine there would be similar approaches for other DEs/WMs.

The problem with Manjaro and i3wm still exists.
I just began to start code within a shell pointing to my work folder.
Works fine like that.

Hello i had same problems with Code - OSS on Manjaro

Version : 1.44.2
Validation : ff91584
Date : 2020-04-23T19:32:05.786Z
Électron : 7.1.14
Chrome : 78.0.3904.130
Node.js : 12.8.1
V8 : 7.8.279.23-electron.0
OS : Linux x64 5.4.40-1-MANJARO

I use Manjaro with KDE and he provide ksshaskpass i have simply create a symbolic link to his binary with and it's work
sudo ln -s /usr/bin/ksshaskpass /usr/lib/ssh/ssh-askpass

I also tried openssh-askpass
sudo ln -s /usr/bin/qt4-ssh-askpass /usr/lib/ssh/ssh-askpass
They are cool because may integrate better into the desktop environments.
In my tests only x11-ssh-askpass automatically create "/usr/lib/ssh/ssh-askpass"
Look the packages in your distribution i think you can find same packages
But i don't understand why VSCode could not use ssh-agent to not ask password at each push/pull maybe an other bug because i haven't this problems on windows

Thanks a lot. This solved the problem

i m getting
`
[19:26:32.898] Log Level: 2
[19:26:32.898]<EMAIL_ADDRESS>[19:26:32.899] darwin arm64
[19:26:32.899] SSH Resolver called for "ssh-remote+dev", attempt 1
[19:26:32.899] "remote.SSH.useLocalServer": true
[19:26:32.899] "remote.SSH.path": undefined
[19:26:32.899] "remote.SSH.configFile": undefined
[19:26:32.899] "remote.SSH.useFlock": true
[19:26:32.899] "remote.SSH.lockfilesInTmp": false
[19:26:32.899] "remote.SSH.localServerDownload": auto
[19:26:32.899] "remote.SSH.remoteServerListenOnSocket": false
[19:26:32.899] "remote.SSH.showLoginTerminal": true
[19:26:32.899] "remote.SSH.defaultExtensions": []
[19:26:32.900] "remote.SSH.loglevel": 2
[19:26:32.900] SSH Resolver called for host: dev
[19:26:32.900] Setting up SSH remote "dev"
[19:26:32.901] Acquiring local install lock: /var/folders/7s/hfywjlmx2_jddvfmrmbww2s40000gn/T/vscode-remote-ssh-cn-dev-ai-experiments-db.us-central1-a.conversenow-dev-install.lock
[19:26:32.914] Looking for existing server data file at /Users/gaurav/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-dev-3866c3553be8b268c8a7f8c0482c0c0177aa8bfa-0.65.7/data.json
[19:26:32.914] Using commit id "3866c3553be8b268c8a7f8c0482c0c0177aa8bfa" and quality "stable" for server
[19:26:32.915] Install and start server if needed
[19:26:32.918] PATH: /Users/gaurav/google-cloud-sdk/bin:/Users/gaurav/miniforge3/condabin:/opt/homebrew/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/Library/Frameworks/Python.framework/Versions/3.9/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin
[19:26:32.918] Checking ssh with "ssh -V"
[19:26:32.923] > OpenSSH_8.1p1, LibreSSL 2.7.3
[19:26:32.925] askpass server listening on /var/folders/7s/hfywjlmx2_jddvfmrmbww2s40000gn/T/vscode-ssh-askpass-36ae1727120b25a47fa961db09e6b3d4a263f5cf.sock
[19:26:32.925] Spawning local server with {"serverId":1,"ipcHandlePath":"/var/folders/7s/hfywjlmx2_jddvfmrmbww2s40000gn/T/vscode-ssh-askpass-2f880d6c105d1bf376d5815921d14ce323d80964.sock","sshCommand":"ssh","sshArgs":["-v","-T","-D","57739","-o","ConnectTimeout=60","cn-dev-ai-experiments-db.us-central1-a.conversenow-dev"],"dataFilePath":"/Users/gaurav/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-cn-dev-ai-experiments-db.us-central1-a.conversenow-dev-3866c3553be8b268c8a7f8c0482c0c0177aa8bfa-0.65.7/data.json"}
[19:26:32.925] Local server env: {"DISPLAY":"1","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"/Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/local-server/askpass.sh","VSCODE_SSH_ASKPASS_NODE":"/private/var/folders/7s/hfywjlmx2_jddvfmrmbww2s40000gn/T/AppTranslocation/8F48C16F-7B3D-44CC-BE62-23642FFC8EB0/d/Visual Studio Code.app/Contents/Frameworks/Code Helper (Renderer).app/Contents/MacOS/Code Helper (Renderer)","VSCODE_SSH_ASKPASS_MAIN":"/Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"/var/folders/7s/hfywjlmx2_jddvfmrmbww2s40000gn/T/vscode-ssh-askpass-36ae1727120b25a47fa961db09e6b3d4a263f5cf.sock"}
[19:26:32.926] Spawned 16150
[19:26:33.080] > local-server-1> Spawned ssh, pid=16157
[19:26:33.082] stderr> OpenSSH_8.1p1, LibreSSL 2.7.3
[19:26:34.940] stderr> debug1: Server host key: ecdsa-sha2-nistp256 SHA256:kgSsdVVN0cWnwUnkoXdsWYrYBEj670i36R/v1s9A5xw
[19:26:38.688] stderr><EMAIL_ADDRESS>Permission denied (publickey).
[19:26:38.689] > local-server-1> ssh child died, shutting down
[19:26:38.692] Local server exit: 0
[19:26:38.692] Received install output: local-server-1> Spawned ssh, pid=16157
OpenSSH_8.1p1, LibreSSL 2.7.3
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:kgSsdVVN0cWnwUnkoXdsWYrYBEj670i36R/v1s9A5xw
<EMAIL_ADDRESS>Permission denied (publickey).
local-server-1> ssh child died, shutting down
[19:26:38.694] Resolver error: Error: Permission denied (publickey).
at Function.Create (/Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:1:64659)
at /Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:1:62853
at Object.t.handleInstallOutput (/Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:1:63238)
at Object.e [as tryInstallWithLocalServer] (/Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:1:387573)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async /Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:1:294473
at async Object.t.withShowDetailsEvent (/Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:1:406463)
at async /Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:1:386112
at async E (/Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:1:382710)
at async Object.t.resolveWithLocalServer (/Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:1:385728)
at async Object.t.resolve (/Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:1:295870)
at async /Users/gaurav/.vscode/extensions/ms-vscode-remote.remote-ssh-0.65.7/out/extension.js:127:110656
[19:26:38.697] ------
`

Manjaro + Gnome fix
sudo ln -s /usr/lib/seahorse/ssh-askpass /usr/lib/ssh/ssh-askpass

This issue is still present on Arch Linux as of April 2022. I believe the core issue here is simply Code not sourcing the appropriate environment variables. Linking ssh-askpass like TSmulkys suggested works but is more of a workaround than a solution, as it requires the password for the key to be typed in when it has already been unlocked in an existing agent.

This issue is still present on Arch Linux as of April 2022. I believe the core issue here is simply Code not sourcing the appropriate environment variables. Linking ssh-askpass like TSmulkys suggested works but is more of a workaround than a solution, as it requires the password for the key to be typed in when it has already been unlocked in an existing agent.

Have you tried the kwallet-secrets AUR package yet? I'm using that currently and it works great!

confirmed April 2022
Arch linux  qtile WM

Arch Linux with KDE. May 2022. VSCodium. Problem still persist.

I encountered this problem on a recent (Aug. 2022) install of Arch with KDE. I setup my ~/.config/systemd/user/ssh-agent.service, ~/.config/environment.d/ssh_askpass.conf and ~/.config/autostart/ssh-add.desktop as documented in the Arch Wiki for KWallet to work.
git and code work as expected when run in a Konsole window. Like others, I'll use konsole -e code as a workaround.
When I poked around the vscode processes environment variables, it appears SSH_AUTH_SOCK is not set, so perhaps this is an interaction between the ssh-agent service, KDE, and vscode.

I'm on manjaro + i3 and using gnome-keyring to manage my SSH keys, and I managed to stop vscode always ask password/use openssh askpass by putting the follwing line in my ~/.profile and rebooting (must be .profile as .bashrc is not executed by dmenu when opening another program):
export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/gcr/ssh

Found a solution. I'm using ArchLinux KDE + KWallet/ksshaskpass.
My /etc/environment:
GIT_ASKPASS=ksshaskpass
SSH_ASKPASS=ksshaskpass
SSH_ASKPASS_REQUIRE=prefer

Disable VSCode's built-in askpass:
{
	"git.useIntegratedAskPass": false
}

It should work now :)

This problem is STILL present in current stable version of VSCode, had this happen on my Debian system today.
Uploading screenshot for proof.

This problem is STILL present in current stable version of VSCode, had this happen on my Debian system today.
Addendum: SSH works fine through terminal. Config file exists and is reachable by github.
But for some reason VSCode absolutely refuses to acknowledge credentials. It's driving me mad.
Uploading screenshot for proof.

Found a solution. I'm using ArchLinux KDE + KWallet/ksshaskpass.
My /etc/environment:
GIT_ASKPASS=ksshaskpass
SSH_ASKPASS=ksshaskpass
SSH_ASKPASS_REQUIRE=prefer

Disable VSCode's built-in askpass:
{
	"git.useIntegratedAskPass": false
}

It should work now :)

It's been hours I'm trying to completely get rid of gnome-ssh-askpass.
I don't know why this was asking for my Github credentials for EVERY pull/push/fetch.
It was so annoying that it wouldn't save my credentials properly.
Moreover I'm actually using KDE not GNOME !!!
Setting these environment variables fixed the issue.
Thanks a lot 🙏


Update PowerShell instructions

Also tried updating makecert instructions (it's deprecated now) but it appears that any cert created with the New-SelfSignedCertificate cmdlet is enabled only for Client/Server Authentication and this causes a 500 error when registering it with B2C.

@stewartadam   We have some all new Key management functionality coming in the next few weeks that will correct this.
Thank you for your contirbution!


[Users] Delete User Assistants

Need to review existing code to make sure that the param filtering matches the API docs
https://marketplace.zoom.us/docs/api-reference/zoom-api/users/userassistantsdelete

Implemented here: https://github.com/kyleboe/zoom_rb/blob/main/lib/zoom/actions/user.rb#L34


Do you have plan to include others authentication providers?

Hi,
I'm looking for an headless CMS and get your project. After some minutes playing with the docker image and I think it's cool tool. But in some cases I will need to integrate my CMS with other systems using OAuth2, LDAP, etc.
How can I achieve it with this tool?

there is a Auth0 addon that might help:
https://github.com/agentejo/Auth0

My company uses Active Directory, so it would be nice if users could sign in using LDAP. As far as I can see, there's currently no way to do this without using Auth0, right? 🤔

there is a WIP SAML addon https://github.com/agentejo/SAML.


Fast FFT on wasm32 target

Hello,
Do you think it can be realistic to add support of WebAssembly SIMD for this crate ?
Best,
Marc-Antoine

For every other SIMD setup, we have a feature flag to turn it on/off - if we continued that pattern for wasm, then we could just unconditionally use wasm instructions when the feature flag is on, and tell users to turn it off if they want to target machines that don't have it.
I think that's a pretty disappointing restriction though, hopefully one that gets lifted, so i'd definitely want to architect it so that it can be switched over to doing runtime checks if runtime checks become available.

Maybe by making a placeholder "is_wasm32_feature_detected" macro that always returns true? Then it's a quick fix to switch to a proper such macro if it becomes available.
The one for x86 is documented here.

I‘m currently looking into writing a wasm library for generating spectrograms. Because of this, I‘d love to have this feature. What‘s the status of this issue? Ofc I can work on this if nobody else wants to.

I don't think anyone is working on it.
The speedup from SSE was about 2.5x for f32 and 1.5x for f64. Wasm provides pretty similar functionality so those numbers are probably useful as a rough guess for what can be expected. Would that make a significant difference for your application?

Yeah, definitely. My users shall be able to „scroll“ through this spectrogram. That would mean that thousands of FFTs may run on every scroll refresh.

Ok, then perhaps we have a volunteer to work on this 😉
I made the sse and neon implementations so I can (hopefully) answer any questions you may have about those.

I'd he happy to review+merge a wasm port of our SSE+neon code


historical streaming example updated to use generator

Coverage remained the same at 94.691% when pulling 01728ba9a3c929334b649554039861fe27f9b8fc on task/example-improvements into ec132f0a482ea08e7a1cc7aa201569389037dc34 on master.


update libbpf version from 0.20.1 to 0.21.1

@fujita Any updates/blockers on this?

@humancalico It just slipped my mind :smile:


ServiceNow Update scim_v2_implementations.json

Added ServiceNow as a SCIM provider and client

https://www.servicenow.com/docs/bundle/vancouver-api-reference/page/integrate/inbound-rest/concept/scim-api.html
https://www.servicenow.com/docs/bundle/utah-platform-security/page/integrate/authentication/concept/scim-client-app.html


Autobild is not working as documented

The documentation states, that a build should be triggered whenever the base image gets updated.

This image is built on Docker Hub automatically any time the upstream OS container is rebuilt

Just recently I found out, while setting up an auto build myself, that the trigger works only for non-official Docker images. I found this hint only on the info-sign directly in the auto build config form.

Trigger a build in this repository whenever the base image is updated on Docker Hub. Only works for non-official images.
Base images are specified in the FROM: directive in the Dockerfile of the source repository.

Since this image is derived from Debian:latest, which is an official docker image, the docker-debian10-ansible image never gets automatically rebuild.
The fix for this is rather easy: move to a scheduled build. Either on Docker Hub or via GitHub actions. The question is, how often should the container be rebuild? Once a week?

I think the best solution for this will be to switch to GitHub Actions, and build at least weekly.
I have already moved over my Ubuntu container builds, and it has a nice side-effect; the buildx GitHub Action allows me to easily build an arm64 version of the image too!


toStartOfMonth() Returning Incorrect Values

What happened: When using toStartOfMonth() in a query in Grafana, the result of the query mimicked what toEndOfMonth() would produce with all the values indicating the last day of the month. However, when using the ClickHouse CLI the query returned expected beginning of the month values.
What you expected to happen: I would've expected to have the first date of the month returned with a DateTime input. For example if entering this: 2022-12-07 02:15:10, I would expect to be returned this: 2022-12-01.
How to reproduce it (as minimally and precisely as possible): While connecting Grafana to a ClickHouse database have a field that is a DateTime data type. Query the field using the function toStartOfMonth(). The result will show the last day of the month of the date that you queried.
An example query:
SELECT toStartOfMonth( "DateTime Field" )
FROM datatable

Screenshots

Anything else we need to know?: When using the clickhouse client to perform the same exact query, the correct result is shown. Screenshot below:

Environment:

Grafana version: v8.4.4 (fcfb01faeb)
Plugin version:
OS Grafana is installed on: NA
User OS & Browser: Chrome on Mac OS X 10.15
Others:

Hi @dbernardi7,
The issue's root cause is simple, but I am unsure how we can mitigate it.
toStartOfMonth in ClickHouse return Date type. This type is decoded as a Go time.Time type in clickhouse-go library.
The problem is Date type is cast to time.Time with a local server timezone. In our case, it's Grafana server timezone.
If you go and pick in Grafana UI time picker the same timezone as you have in Grafana backend, results should be fine.
Most likely, this issue has to be fixed in clickhouse-go, so Date decode loads a user-defined timezone.

Hey @jkaflik,
Thank you so much for your prompt response, I really appreciate it!
I went ahead and changed the organizations timezone to UTC and ran a test query to ensure it worked, and sure enough it did!
However, while it does work, I can't reason why that would cause the dates to appear as the end of the month as they are in the screenshots above. For example for today's date (February 13th), if it was 2pm PST, which would be 10pm UTC, the starting date of the month should still return the same value: 2023-02-13.
My point is that even if the time was hours ahead or behind UTC, but still in the same month, the function should still return the start of the month. And in the rare case that it is the last day of the month PST and in UTC it is now the first of the month, the function should still return the start of the month and not the last day.
Thank you again for your timeliness on this and all the information so far!

@dbernardi7

However, while it does work, I can't reason why that would cause the dates to appear as the end of the month as they are in the screenshots above. For example for today's date (February 13th), if it was 2pm PST, which would be 10pm UTC, the starting date of the month should still return the same value: 2023-02-13.

If I understand the problem correctly, but let give me a try to explain:
Let's assume we have DateTime with any timezone: 2022-07-17 15:00:00
when we query CH with SELECT toStartOfMonth(toDateTime('2022-07-17 15:00:00')) it returns us a Date 2022-07-01 which is timezone agnostic.
Later, this value is decoded by clickhouse-go and return as DateTime with a server local timezone. For example, it's UTC 2022-07-01 00:00:00.
At the latest stage, Grafana UI loads this and shows you in your -4 timezone as 2022-06-30 20:00:00
The solution would be that Grafana UI sends the client timezone, which is used for CH Date decode.
Hope this answers your question.

This is a two-part fix. The first part @jkaflik has already started which is updating clickhouse-go to use a timezone in its Date parsing. The second part would be to update the datasource to send along a timezone. We can probably use existing functionality in grafana-data.

@asimpson the second part - is it something you will work on?

Let me discuss with @grafana/partner-plugins and see when we can fit it in.

@asimpson How can we attach additional metadata to a query?
DataQueryRequest interface contains timezone value (even though, by default is browser, which is not helpful for the backend), but it's not attached to a query sent by DataSourceWithBackend see the implementation https://github.com/grafana/grafana/blob/98596c36ad733d159c0539eae160d0677f97ae7a/packages/grafana-runtime/src/utils/DataSourceWithBackend.ts#L122
I don't see any mechanism to attach metadata to the query (like access to HTTP request body, URL, header, etc.).
I noticed that some plugins don't use DataSourceWithBackend.query method and deal with the HTTP interface directly (for example, Cloudwatch). I don't find this idea very appealing, since a custom query handler creates divergence from the canonical implementation in DataSourceWithBackend class.
Maybe we can consider extending the DataSourceWithBackend.query interface to allow a client-side plugin to supply additional metadata to a backend counterpart?  Do you have other ideas?

You're totally correct, I was looking at Cloudwatch  when I was thinking about it last week just because of the timezone piece. One thing I want to uncover is why Cloudwatch made the decision it did.

Maybe we can consider extending the DataSourceWithBackend.query interface to allow a client-side plugin to supply additional metadata to a backend counterpart? Do you have other ideas?

I think this is a good idea! I'm curious how this will work out in practice.

I'm curious how this will work out in practice.

@asimpson what if we change the query interface to preconfigure some properties of an HTTP request?
We can start with headers or params? For example,BackendSrvRequest interface, which is used  in postResource and getResource provides such an ability:
https://github.com/grafana/grafana/blob/98596c36ad733d159c0539eae160d0677f97ae7a/packages/grafana-runtime/src/services/backendSrv.ts#L8-L82
It changes DataQueryRequest.query signature to the following:
query(
  request: DataQueryRequest<TQuery>,
  {
     headers?: ReadonlyMap<string, string>,
     params?: ReadonlyMap<string, string | number | null >,
  }
) => Observable<DataQueryResponse>

what if we change the query interface to preconfigure some properties of an HTTP request?
We can start with headers or params

I think this would work. We can always refine or refactor if we uncover a better way.

@jkaflik could you use https://github.com/grafana/clickhouse-datasource/pull/313 as a foundation for adjusting the timezone in the datasource?


Incorrect number of batches when multiple test loaders are used and test_percent_check is specified

🐛 Bug

When there are multiple test dataloaders and test_percent_check is specified. The estimated total batches are incorrect and progress bar doesn't show properly.
For example, when I specify two dataloaders each of which has 100 batches and test_percent_check=0.1. The expected total batches are 200*0.1=20. But actually, 40 batches are run.
At this line, num_batches is the global number of batches and will be assigned to self.num_test_batches. https://github.com/PyTorchLightning/pytorch-lightning/blob/3459a546672303204a4ae6efcc2613a90f003903/pytorch_lightning/trainer/data_loading.py#L243
while in the evaluation loop, max_batches is regarded as the number of batches for one data loader.
https://github.com/PyTorchLightning/pytorch-lightning/blob/3459a546672303204a4ae6efcc2613a90f003903/pytorch_lightning/trainer/evaluation_loop.py#L262
To Reproduce
Steps to reproduce the behavior:

Return multiple dataloaders from test_dataloaders()
Specify test_percent_check.
Run trainer.test()
Observe expected_batches * num_loaders be run. The progress bar also fails to show progress after expected_batches as it exceeds its specified total steps.

Expected behavior
Run correct number of batches.
Environment

CUDA:

GPU:
available:         False
version:           10.2

Packages:

numpy:             1.18.4
pyTorch_debug:     False
pyTorch_version:   1.5.0
pytorch-lightning: 0.7.6
tensorboard:       2.2.0
tqdm:              4.45.0

System:

OS:                Linux
architecture:

64bit

processor:
python:            3.7.6
version:           #1 SMP Debian 4.19.118-2 (2020-04-29)

Just had a look at this. The problem is in the trainer as you say, not the progress bar.
There are two loops, the outer runs through the number of dataloaders and the inner loop runs through each.
The max_batches should limit the total of both loops, but instead the number is only tracked in the inner loop.
We can easily fix this.
There should really be a test. There seems to be no test that checks that *_percent_check works with the correct amount of data. we should definitely have these tests.

@awaelchli max_batches is the total number of batches in all the dataloaders combined.
https://github.com/PyTorchLightning/pytorch-lightning/blob/3459a546672303204a4ae6efcc2613a90f003903/pytorch_lightning/trainer/data_loading.py#L242-L243
Due to this num_batches, trainer.num_test_batches and max_batches are multiplied and we are running these number of batches on each dataloader. I guess max_batches should be a list of batches to be considered for each test_dataloader. The same case might be happening with val_dataloaders maybe.

Same case might be hapenning with val_dataloaders. max_batches should be a list I suggest.

That's true yes, I agree, because they could have different length.

@awaelchli Anyone working on this or should I submit a PR? Need this to be fixed for a personal project debugging and testing.

if you like, that would help us a lot .)
I could help with the tests if you need help :)


Add custom error message if tab character is found in parsing.

Given this file:
list =
<tab>[
<tab><tab>1
<tab>]

Elm will now give this error message:
-- SYNTAX PROBLEM -------------------------- TabIndent.elm

A tab character was found, but all whitespace (including indentation) must be
spaces not tabs.

3│ 	[
   ^
I am looking for one of the following things:

    whitespace

LGTM.

@evancz

In addition to those two code things, I feel like it is maybe weird that it says it is expecting whitespace in the new error. I forget exactly how this code works, but would you mind reading through it til you see the tricks so you can assess if we can make that part better too?

I've added two more commits to improve the error messages. The first removes "\t" from the list of expected things if whitespace is expected.
The second commit changes the error message when we encounter a tab:
-- SYNTAX PROBLEM ------------------------------- tests/test-files/good/Tabs.elm

A tab character was found, but all whitespace (including indentation) must be
spaces not tabs.

3│   	[
     ^
I am looking for spaces, not tabs.

Awesome, excited to have this in the next release!


Feat/settings

What type of PR is this? (check all applicable)

[ ] ♻ Refactor
[x] ✨ New Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 👷 Example Application
[ ] 🎨 Design
[ ] 📖 Content
[ ] 🧪 Tests
[ ] 🔖 Release
[ ] 🚩 Other

Description

This PR implements the DRL and settings page
Related Tickets & Documents

Resolves #70
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

No tests? Add a note

Added to documentation?

[ ] 📜 readme
[ ] 📜 contributing.md
[ ] 📓 general documentation
[x] 🙅 no documentation needed

No docs? Add a note

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

@blackgirlbytes @leordev @acekyd this is ready for review, only blocker is the DRL utility functions throwing errors, does the same for the react version as well.

i pinged @leordev to give us insight on that particular DRL function

Hey @Johnnyevans32 just to give you a status update on this one, we are troubleshooting in our end to understand why we are having problems resolving these DRLs the way it is setup to read from our node located  at https://dwn.tbddev.org/beta
Sorry for the delayed response, yesterday was a Holiday for us.

Additionally, we updated our main branch so that some of these tests could stop failing, so you might need to pull in some of those changes to that branch

I tested and I see that the name section is working! @leordev @Johnnyevans32 do I need to do anything in particular for checking the avatar? or is it all working?

here's what i got:
if no picture uploaded, it's broken..

but once uploaded, it shows 😄

should we have a way that it's not broken..maybe a placeholder image or icon if nothing is uploaded @Johnnyevans32 @leordev

oh nvm guess it doesn't matter! Good job @Johnnyevans32 . this was a tough one. I'll go back and talk with my team about thinking about x-large labels.

here's what i got:
if no picture uploaded, it's broken..
but once uploaded, it shows 😄
should we have a way that it's not broken..maybe a placeholder image or icon if nothing is uploaded @Johnnyevans32 @leordev

i think the first time it was because the image that it was tryna fetch was a broken one before the fix, so subsequent uploads shouldnt have that problem


turn on wiki for a "0.5 -> 1.x migration guide"

starter content for that:
- no `restify.log`, carry your own log along
- can use 'after' event on restify server instead of repeating 'after'
  handlers/middleware on every endpoint
- don't *need* a server 'version' field anymore
- server option: serverName -> name
- req.uriParams is gone: use req.params
- new `req.log`, use it, it's good
- server option: 'log' to provide your own Bunyan logger. You probably
  want to.
- no default handlers for restify server anymore, you likely need to:

        server.use(restify.bodyParser())
        ... and others

- createServer option: 'apiVersion' is gone (I think), use optional
  'version' option to routes.
- add the name of your endpoints:
  `server.get({path: '/foo', name: 'GetFoo'}, getFoo)`
  This'll be in the logging, helpful for discussion and reference.
- restify.createClient:
    - probably want restify.createJsonClient
    - drop version
    - 'retryOptions' -> 'retry'
    - need 'name' field now
    - 'log' arg is now a Bunyan logger
- client.get() signature change (ditto head, put, post, del):
    - not an input obj, instead client.put(path, payload, callback)
    - callback is now `function (err, req, res, obj) {}`, at least
      for JsonClient.
- res.sendError() is gone. See <http://mcavage.github.com/node-restify/#Error-handling>
- res.newError() is gone. See <http://mcavage.github.com/node-restify/#Error-handling>

Thanks Trent!

https://github.com/mcavage/node-restify/wiki/0.5-to-1.0-Migration-Tips


Mermaid diagram on architecture page broken

Section "class diagram"

😿 I think this might have to do with the Mermaid version installed on CI


coq-metacoq-template 8.13.0 failing to compile with ocaml 4.09.1

Hi, I was coming across a compilation issue with coq-metacoq-template  and was wondering how I could get around this issue.
For reference, I'm using coq 8.13.2, and ocaml 4.09.1
The error message that I'm receiving is the following (when installing via opam, i.e. opam install coq-metacoq-template)
The following actions will be performed:
  - install coq-metacoq-template 1.0~beta2+8.13*
[coq-metacoq-template.1.0~beta2+8.13] found in cache

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of coq-metacoq-template failed at "/Users/euisuny/.opam/opam-init/hooks/sandbox.sh build make -j 11 template-coq".

#=== ERROR while compiling coq-metacoq-template.1.0~beta2+8.13 ================#
# context     2.0.8 | macos/x86_64 | ocaml-base-compiler.4.09.1 | pinned(https://github.com/MetaCoq/metacoq/archive/v1.0-beta2-8.13.tar.gz)
# path        ~/.opam/vellvm/.opam-switch/build/coq-metacoq-template.1.0~beta2+8.13
# command     ~/.opam/opam-init/hooks/sandbox.sh build make -j 11 template-coq
# exit-code   2
# env-file    ~/.opam/log/coq-metacoq-template-94188-d2c37b.env
# output-file ~/.opam/log/coq-metacoq-template-94188-d2c37b.out
### output ###
# [...]
# 13 | type ('a, ') coq_Reflexive = 'a -> '
#                 ^
# Error: Syntax error
# make[3]: *** [gen-src/cRelationClasses.cmi] Error 2
# make[3]: *** Waiting for unfinished jobs....
# CAMLC -c gen-src/plugin_core.mli
# CAMLC -c gen-src/tm_util.ml
# CAMLC -c gen-src/reification.ml
# CAMLOPT -c -for-pack Metacoq_template_plugin gen-src/datatypes.ml
# make[2]: *** [all] Error 2
# make[1]: *** [plugin] Error 2
# make: *** [template-coq] Error 2

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build coq-metacoq-template 1.0~beta2+8.13
+-
- No changes have been performed
(base) ➜  src git:(master) ✗

Is there a way to make metacoq compile for these versions?
Thank you for your help.

What's your operating system? On the first glimpse, this doesn't look like an OCaml version problem to me. Could you try again under 4.07.1?

My operating system is macOS Catalina v 10.15.7.
Ah, I see, I tried again under 4.07.1 and I received the same error message, so it indeed doesn't seem like an ocaml version issue..
[ERROR] The compilation of coq-metacoq-template failed at "/Users/euisuny/.opam/opam-init/hooks/sandbox.sh build make -j 11 template-coq".

#=== ERROR while compiling coq-metacoq-template.1.0~beta2+8.13 ================#
# context     2.0.8 | macos/x86_64 | ocaml-base-compiler.4.07.1 | https://coq.inria.fr/opam/released#2021-08-04 12:40
# path        ~/.opam/4.07.1/.opam-switch/build/coq-metacoq-template.1.0~beta2+8.13
# command     ~/.opam/opam-init/hooks/sandbox.sh build make -j 11 template-coq
# exit-code   2
# env-file    ~/.opam/log/coq-metacoq-template-99446-6cc03f.env
# output-file ~/.opam/log/coq-metacoq-template-99446-6cc03f.out
### output ###
# [...]
# CAMLC -c gen-src/signature.mli
# CAMLC -c gen-src/config0.mli
# CAMLC -c gen-src/logic0.mli
# CAMLOPT -c -for-pack Metacoq_template_plugin gen-src/tm_util.ml
# CAMLOPT -c -for-pack Metacoq_template_plugin gen-src/reification.ml
# File "gen-src/cRelationClasses.mli", line 13, characters 11-12:
# Error: Syntax error
# make[3]: *** [gen-src/cRelationClasses.cmi] Error 2
# make[3]: *** Waiting for unfinished jobs....
# make[2]: *** [all] Error 2
# make[1]: *** [plugin] Error 2
# make: *** [template-coq] Error 2

<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build coq-metacoq-template 1.0~beta2+8.13

Very strange. We know that the file with the error suffers from an extraction bug which we patch manually (https://github.com/MetaCoq/metacoq/blob/coq-8.13/template-coq/extraction.patch), but it's not this line. @mattam82 are you using the same Mac OS Version?

Resolved this issue by updating to macOS Big Sur 11.5.1. Compiles fine now, thank you for the help. :-)


Feature request: copy stdout to within Sublime (phantom?)

In your Readme you mention the issue with stdout

...it doesn’t always work and you have to check two places for output. Moreover, there’s no output panel, so there’s no place to show stdout anyway

And then suggest to check out the 2nd place of outpu - your terminal. Which I did exactly find confusing - seeing only nil in sublime and having to switch to the terminal for the real output
Would it be possible to add an option to show all text within Sublime:?

maybe print it all in Sublime's console? Can it be used as the output panel?
maybe print it in the same phantoms you use for Symbol Info?
maybe print it in the same phantoms you use for the right-hand side results?
a configurable mix of all 3?

Then to make it "always work" instead of redirecting stdout to just one place, have it always output to console (so it continues to always work), and then print an extra copy in the 3 places mentioned above? So for shorter prints you'd have the conenience of seeing it all in the same place, but for longer prints you can switch to ST's console or to the terminal

I might add it at some point. The way I’m solving this problem right now is running REPL process inside Sublime, not in a terminal

Do you run a terminal in an extra Sublime tab like Terminus does or do something else and get output to Sublime's console or ?

I use this https://github.com/tonsky/Sublime-Executor but build commands would work to. They all output to output panel

Interesting, the build commands start the repl with /path/to/lein with-profile +socket repl, but then how to you exit it without closing Sublime? The panel doesn't seem to accept input
Will use your plugin meanwhile, it has a Cancel command, though requires adding an extra executable file
Thanks for the suggestion


more copy error message fixes

Type of Change

[x] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
This isn't very informative:

Approach
update the variable names in copy-* so that we return the source/destination names
Commands to test

Screenshots
This is what it shows now:

Learning
Be nice to break out that much repeated code into it's own internal function to stop this happening again.

found another 19 functions afflicted.
Regex to fix in VS Code is
Find - (^.SqlInstance $)(.[A-z]instance)( -SqlCredential .\n .} catch {\n .*to $)(instance)
Replace - $1$2$3$2
Just in case it happens again

@Stuart-Moore you need to remove the allcommands.ps1 file from your PR, then I'll merge.. The test failure is on a command I think I caused in a PR yesterday, so I'll fix that one.

going to overwrite allcommands.ps1 👍  thank you both! 💯


Running Shairport and Raspotify

I was previously running shairport on my Model B2 and now added Raspotify to have a better experience on android (I still use shairport for e.g. Youtube on the Mac).
Problem: The two Programms can't run simultaneously. The one, that is started first, works (and keeps working), while the other one shows that it's working (is connected and plays) without giving any output. Even after the music on the first one is pauses, or the first service is stopped completely.  Yes, in both ways.
Has someone found a fix for that?

ive been running both and they work ok, even at the same time.
it could be that they are each opening the audio interface in some kind of exclusive mode, as opposed to using the alsa mixer. have a look in the configs to see how the audio interface is defined.

Hello, are you running both as daemons ? It works for me. Good luck!


view.trials as array -> allow views to be repeated with varying numbers of trials

If the same view is supposed to occur more than once in an experiment, but with different numbers of trials at each repetition, we should make a view's 'trials' element an array. Add functionality in 'main.js' to handle both simple integers or arrays.

This issue is solved by the introduction of loops.


sign up

Tried to create an account.  It wont accept any password I try.
Thanks

If you are having issues with setting up or accessing an account, send details to the officers for the game which you are attempting to apply to.


Add links to presentations to Readme

I guess this is a good resource/cross-link to the presentations, so people can look it up.
I needed to find it myself manually, because I remembered there was such a thing.

Looks like a nice addition. Just one thing about the order? Could you move it before Legal Stuff and Contact as those two should be the last ones imho?

Lgtm
@mk-pmb if you don't have further. comments please merge!


[sw/ottf] implemented default ISRs

This adds the following to the OTTF:

defualt (weak) ISRs
FreeRTOS context saving (asm) subroutines to be called on ISR entry/exit

Additionally, this depends on #7938, thus has duplicate commits which will be removed when merged.

PR dependencies removed. Free to merge, once CI checks pass.


Add YT live links as embedded previews or redirects

Add YT live links.
Some YT channels might not have embed options enabled. In that case add a button alone on the home page. In the place of the two buttons in hero section. Replace them with these.
Day 1:

Track 1 - https://www.youtube.com/watch?v=coFbkjbuMdA
Track 2 - https://www.youtube.com/watch?v=B0SC-IzK0PQ

No live for Day 2

Resolved


[defect/148]

Update to Kafka 0.9.0

Hi @vktk @aleksey-suprun
We are planning to merge this update.
Let us know is you have any objections.
Thx


CODEX (PhenoCycler) + scRNA-seq

I have CODEX data (1.8m cells x 38 features), where the 38 features are also measured in the expression data (24k cells x 25359 features). I use default parameters for everything, except I've tried a few variations with training (e.g. larger batches, more steps). As a first step in evaluating the results, I look at the UMAP calculated from the ENVI latent space. I was expecting to see "integration" in the graph, but, based on that visual heuristic, I'm wary to trust any imputation or inference. Do you see a red flag here? Do you have any tips to improve    performance? Is CODEX data not appropriate for this method?

ENVI is intended for high-res spatial transcriptomics data (MERFISH, XENIUM, etc') and was not designed with protein imaging in mind. With default parameters, ENVI assumes a Poisson distribution of the counts in the spatial dataset, which CODEX presumably does not follow and can lead to suboptimal performance such as what you're seeing.
One solution could be to z-score your single-cell and CODEX datasets are run ENVI using the Guassian distribution, like so:

envi_model = scenvi.ENVI(spatial_data = st_data, sc_data = sc_data, spatial_dist='norm', sc_dist='norm',
                                             num_cov_genes = -1,  # use all genes in the codex data
                                            )

Let us know how it goes!

Thanks for the tip! I think there's improvement, but it's still pretty far from integrated. I think CODEX data just isn't appropriate for COVET--in fact, I don't think CODEX data is appropriate for most single-cell methods. Often, the most important piece of information comes down to a single marker, so things like covariance aren't meaningful and could be misleading.

On a separate note, I had to make a few edits:

In my version of scenvi (0.3.3), the mean_sc() method of ENVI() assigns an object called sc_neurons when using 'norm' and 'pois'. I assume this was supposed to be 'sc_inp'. This is fixed in your GitHub repo, but wanted to let you know it's out there.
I used log-transformed, z-scored data. The first step of CalcCovMats() in the utilities runs a log-transform. You should add a check for whether or the not the data have already been transformed. In my case, I just checked whether there were any negative values.

Awesome work! We just generated MERSCOPE data from these same tissue, so I'm excited to see the COVET results from those experiments!

thanks for the notes! we have just patched our package based on them.
Hopefully you will have more success with ENVI using MERSCOPE data!


feat: add support for multi-servers

Issue
https://gravitee.atlassian.net/browse/ARCHI-227
Description
The objective of this feature is to provide support for instantiating multiple servers. This is mandatory to support product features such as k8s Ingress for APIM (the ability to expose Ingresses on http or https both at the same time).
For that to be possible, the VertxServerFactory has been refactored and a ServerManager concept has been introduced to easily instantiate and get access to the created servers.
Additional context

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 3.1.0-archi-227-multi-servers-SNAPSHOT
download it from Artifactory here

:tada: This PR is included in version 3.1.0-alpha.1 :tada:
The release is available on:

3.1.0-alpha.1
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.0.0 :tada:
The release is available on:

4.0.0
GitHub release

Your semantic-release bot :package::rocket:


catalog: Remove GetServicesFromEnvoyCertificate from MeshCataloger interface

This GitHub issue proposes the removal of GetServicesFromEnvoyCertificate() from MeshCataloger interface and moving it into a new package.
Proposal

Move GetServicesFromEnvoyCertificate() out of pkg/catalog and into a pkg/new-home
Remove GetServicesFromEnvoyCertificate() from MeshCataloger interface

Prototype
I created a small prototype and captured it in https://github.com/openservicemesh/osm/pull/3114 to show that GetServicesFromEnvoyCertificate() can do its job without needing much from the MeshCataloger.
It seems to me that at a high level GetServicesFromEnvoyCertificate() does 2 things:

parses the Envoy xDS certificate
fetches the Kubernetes Services somehow matching the Envoy xDS Certificate

Observations
I noticed 2 things about GetServicesFromEnvoyCertificate() :

it is not directly relevant to MeshCataloger, which is about SMI Policies and how these relate to each other.
it is very specific to Kubernetes. I suspect that this would change a lot if OSM somehow existed on a non-Kubernetes infrastructure.

@nojnhuh I wonder if this could also be formalized in something which would start us towards an abstract service registry / service catalog.  This I think may be very close to the Proxy Registry we recently worked on.
So with that - I wonder if a good home for GetServicesFromEnvoyCertificate() could be pkg/service?

Closing this in favor of https://github.com/openservicemesh/osm/issues/3272


SQL export to MeiliSearch - MVP

We want to offer the ability to export any SQL table to MeiliSearch.
The most used databases offer a SQL interface, so we should be able to read any table and stores  its rows into MeiliSearch.
I started to write a Ruby script that could export rows from an sqlite table, but is it the right tool to do this?
We might not need performance here, but a tool that most people could use without having to install lots of dependencies.
Some databases such as PostgreSQL offer the ability to write extension, this could be the cleanest way to work with automatic export but this kind of work might tedious if we have to do it with every table.
The MVP could be a Ruby (or any other scripting language) script, that can connect to SQLite, PostgreSQL or MySQL that we could run on Heroku as a scheduled task and that could take any table from any database and make a full export to a given index in MeiliSearch.
I would love to have any input from the team to see if can't make something more simpler than this?

We can create a lambda function (for example, AWS) with a script (like your ruby script), receiving as input the SQL database authentication credentials and MeiliSearch authentication credentials, and running an export on demand ourselves?

Not exactly the same, but I've already started to write a ruby script to parse a (basic) Postgres SQL dump file and push it into MeiliSearch. Not sure that is the best way. Maybe it's better to connect directly to the DB? What do you think?

The MVP could be a Ruby (or any other scripting language) script, that can connect to SQLite, PostgreSQL or MySQL that we could run on Heroku as a scheduled task and that could take any table from any database and make a full export to a given index in MeiliSearch.

Maybe I understood wrong, but for me that would be a script provided for the user. Why a Heroku Scheduler?

We could use a serverless script (for example Lambda function in AWS) you provide credentials as parameters, and the script request the DB and pushes to MeiliSearch. So no need to install/download anything. We can make a little form with github pages where user provides DB credentials, MeiliSearch credentials, and for example the DB table he wants indexed. What do you think?

Not exactly the same, but I've already started to write a ruby script to parse a (basic) Postgres SQL dump file and push it into MeiliSearch. Not sure that is the best way. Maybe it's better to connect directly to the DB? What do you think?

Exactly, not the same but still useful. The problem is could be that it can only parse PostgreSQL dump, or is it SQL standard? but yes let's go with a script that connect to SQL first!

Maybe I understood wrong, but for me that would be a script provided for the user. Why a Heroku Scheduler?

Sorry about the Heroku scheduler and stuff, this is clearly not MVP and can be done once we have a working script ^^ Sane for aws lambda etc
Requirements

Should connect to any SQL database (MVP for MySQL, SQLite & PostgreSQL)
Should read one column and exports its rows to MeiliSearch
If nb rows > 5000(arbitrary number here) documents, we should export by chunk of 5000 documents

Is that all? Do we need more precision?

Should read one column and exports its rows to MeiliSearch

One table?

SQLAlchemy is a python lib that can handle SQLite, Postgresql, MySQL, Oracle, MS-SQL, Firebird, Sybase and others

@tpayet could you please write a basic getting started so that we can understand the real expected behavior and maybe anticipate issues? 🙂

README Drive development
Usage
This readme is designed with Python in mind, the readme should be the same with Ruby or any other scripting language
Installation
$ pipenv install meili2sql

Configuration
meili2sql.yaml or equivalent in json or INI file
---
database:
  adapter: postgresql # or sqlite or mysql
  host: localhost
  port: 5432
  username: tpayet
  password: blahblahblah
  database: default
  table: Movies

meilisearch:
  host: localhost
  api-key: megamasterkeytopsecure
  index: movies #default to same name as table

Run export
$ python3 sql2meili.py --config meili2sql.yaml
[python-logger] Connecting to SQL database..
[python-logger] Connected to <postgresql://username:*****@host:port/default>
[python-logger] 7654 rows to export to Meili
[python-logger] 5000 rows exported
[python-logger] 2654 rows exported
[python-logger] Export done.  You can search through your data at http://<meilisearch-host>

Maybe sql2meili?

Waiting for the approval of @eskombro and @bidoubiwa (remember: 🚀) and I put it as ready to implement 😉

Hey!
At my day job we are going to start using Meilisearch and I really wanted a way to export SQL tables to MeiliSearch, so I ended up making my own version of sql2meili (https://github.com/kamefrede/sql2meili , still have some revisions to do)
Should I make a pull request somewhere with it?

Hey @Kamefrede !
Thanks a lot for this :tada:
I'll try to check it out as soon as possible! We haven't worked on this sql2meili until now, but I am happy to see that you are working on it and up for contributing! I'll talk about it with the integration team, and come back to you! But thanks!

Hello @Kamefrede!
We discussed it with the team (@eskombro was there too 😉). To be honest, we did not take the time to start this issue so far, but be sure we are going to have a look at your work when starting.
Because we might want to test it in the future, could you add a README so that we can use it or communicate about what you've done? 🙂
Thanks for this kind of project you built, it contributes to helping the MeiliSearch community!

I have added a README that should explain pretty well how it works and the basic usage! (I think so, at least)
If you do end up having any questions about it, don't hesitate to mention me! I'm glad to help :)

Thanks for adding the README it looks really detailed! 😁
It's really nice to you! Sure we will contact you if needed 🙂
I don’t know if you are already on our Slack, feel free to joins us, it might be easier to discuss (I’m Clementine).

Thanks @Kamefrede 🎉

FWIW... instead of one-time export, it would be better to provide integration guide for the CDC approaches using Debezium and Kafka.. especially for the Postgres. Reason: One-time export is only an MVP and not a real world usecase.

FWIW... instead of one-time export, it would be better to provide integration guide for the CDC approaches using Debezium and Kafka.. especially for the Postgres. Reason: One-time export is only an MVP and not a real world usecase.

FWIW, again.. Looks like https://github.com/supabase/realtime by @kiwicopple is an interesting candidate here

@long2ice Really interesting. Thanks for sharing. You may add note about performance and especially how it can be comparable with Kafka. Thanks again

Hey @long2ice thanks a lot for this tool :) It's amazing 🔥
From my understanding, your tool provides the possibility to dump your SQL content into Meilisearch.
Just to be sure:

Does it handle relationships? It may be adding too much complexity for little value.

Which is a python class with pre_event and post_event methods, the pre_event method is called before insert to MeiliSearch, the post_event method is called after insert to MeiliSearch.

Is there also a plugin that listens to SQL operations? For example, if I add an entry in a table, would that entry also be added in Meilisearch?

When refreshing you delete all the data of an index.
await meili.delete_all_data(sync.index_name)

To avoid downtime, it is better to use the swap API.

Hey @long2ice,
I dug more into your tool, and it is incredible. We definitely want to use it internally and are very hyped about it :fire:
I was wondering, what are you expecting for us to help you?
Do you want us to help you maintain the code? Help you stay aware of the new features added in Meilisearch that might impact/improve your tool? Communicate in some way about it to raise awareness?
If we do use it internally, the only thing we would probably want is some write permissions on the repository to ensure the project stays active.

Amazing @long2ice 🎉
I think we can start with @brunoocasali, @bidoubiwa, and @alallema. That is our entire integration team 😬

long2ice
Does meilisync sync updates as well?

long2ice
great !!

Hello, everyone watching this issue!
Working on a project like this was in our plans for a long time, but we didn't find the right time to do it.
Thankfully @long2ice did a fantastic job in the meilisync, and the Meilisearch team has been using it internally and contributing to it whenever possible.
So I'll close this issue in favor of meilisync.


What's the future of this Project ?

I found this repo reading https://sheharyar.me/blog/writing-blockchain-elixir/
as a implementation for an MVP.
What's next?
This will be a certain kind of Framework/Library or just a personal project ?
Btw, great job buddy.

This is just a personal project and a blockchain experiment in Elixir. I make minor changes from time to time, but no plans on turning this into a full-fledged publishable application or framework.
You should check out the amazing CoinCoin project by @robinmonjo though.


Doesn't emit root when using root in rules

It generates long chains of parent() calls like "newData.parent().parent()", but firebase supports root now.

I see the explanation is here:
https://github.com/firebase/bolt/issues/87#issuecomment-160248217
That's really subtle, maybe the firebase docs should explain this too.


[Research] TURN server

Those are the requirements:

Be able to be integrated to our identity solution
Support a way to add stats
Support a way to define relay rules (so we relay to our services only)

blocked by #90


Fix CI

Codecov Report

Merging #21 (869d228) into main (9dc9739) will decrease coverage by 60.96%.
The diff coverage is n/a.


Getting No loader is configured for ".node" files: node_modules

Hi,
This is the package.json I am having.
{ 	"name": "gdsn-context-app", 	"version": "0.0.1", 	"private": true, 	"scripts": { 		"dev": "vite dev", 		"build": "vite build", 		"preview": "vite preview", 		"test": "playwright test", 		"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", 		"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", 		"test:unit": "vitest", 		"lint": "prettier --plugin-search-dir . --check . && eslint .", 		"format": "prettier --plugin-search-dir . --write ." 	}, 	"devDependencies": { 		"@floating-ui/dom": "^1.4.5", 		"@playwright/test": "^1.36.1", 		"@skeletonlabs/skeleton": "^1.10.0", 		"@sveltejs/adapter-auto": "^2.1.0", 		"@sveltejs/adapter-node": "^1.3.1", 		"@sveltejs/kit": "^1.22.3", 		"@tailwindcss/forms": "^0.5.4", 		"@tailwindcss/typography": "^0.5.9", 		"@typescript-eslint/eslint-plugin": "^5.62.0", 		"@typescript-eslint/parser": "^5.62.0", 		"autoprefixer": "^10.4.14", 		"eslint": "^8.45.0", 		"eslint-config-prettier": "^8.8.0", 		"eslint-plugin-svelte": "^2.32.4", 		"highlight.js": "^11.8.0", 		"postcss": "^8.4.27", 		"prettier": "^2.8.8", 		"prettier-plugin-svelte": "^2.10.1", 		"set-cookie-parser": "^2.6.0", 		"svelte": "^3.59.2", 		"svelte-adapter-azure-swa": "^0.17.0", 		"svelte-check": "^3.4.6", 		"tailwindcss": "^3.3.3", 		"tslib": "^2.6.0", 		"typescript": "^5.1.6", 		"vite": "^4.4.6", 		"vitest": "^0.25.8" 	}, 	"type": "module", 	"dependencies": { 		"@tanstack/svelte-query": "^4.32.0", 		"@tanstack/svelte-table": "^8.9.4", 		"@tanstack/svelte-virtual": "3.0.0-beta.12", 		"@tanstack/virtual-core": "3.0.0-alpha.1", 		"nodejs-polars": "^0.8.0", 		"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.0/xlsx-0.20.0.tgz" 	} }
While using the adapter and trying to build I am getting no loader is configured error. I tried building with adapter-node and it built fine. Please help
Minimal reproduction: https://stackblitz.com/edit/github-r5vxpy-7gse5i?file=src%2Froutes%2F%2Bpage.svelte

Please provide a minimal reproduction with as few dependencies as possible. Just a package.json is not enough to investigate the issue.

Hi,
https://stackblitz.com/edit/github-r5vxpy-7gse5i?file=src%2Froutes%2F%2Bpage.svelte
The above code is the project, you can try using the svelte adapter azure swa and build it. You can reproduce the error. Thank you

Hi. Please reflect on this.

@sukeshpabolu I opened a PR to expose the loader option. Can you verify it fixes your issue before I release it?
You can install it from my PR branch with the following command: npm i github:geoffrich/svelte-adapter-azure-swa#issue-147
And then add the loader option to your svelte.config.js
import azure from 'svelte-adapter-azure-swa';

export default {
	kit: {
		adapter: azure({
			esbuildOptions: {
				loader: {
					'.node': 'copy'
				}
			}
		})
	}
};

thank you


feat(cheatcodes): mark rpc + eth_getLogs cheatcodes as script safe

Safe/Unsafe refer to script safety or unsafety—cheatcodes unsafe to use in scripts are marked as such

Certain fork cheats like createSelectFork and selectFork can also be marked as safe even though their currently unsafe (but some like rollFork or transact should stay unsafe). I'm ok doing this here or in a follow up PR—more broadly we may want to just take a pass at the safety status and make sure everything looks good, in which case a follow up PR might be a better fit


ESLint recursively trying to lint folders added by yarn link

Version
3.2.1
Environment info
 System:
    OS: macOS 10.14.1
    CPU: (4) x64 Intel(R) Core(TM) i5-7600 CPU @ 3.50GHz
  Binaries:
    Node: 8.11.2 - ~/.nvm/versions/node/v8.11.2/bin/node
    Yarn: 1.12.3 - /usr/local/bin/yarn
    npm: 5.6.0 - ~/.nvm/versions/node/v8.11.2/bin/npm
  Browsers:
    Chrome: 70.0.3538.110
    Firefox: 63.0.3
    Safari: 12.0.1
  npmPackages:
    @vue/babel-preset-app:  3.2.0
    @vue/cli-overlay:  3.2.0
    @vue/cli-plugin-babel: ^3.2.0 => 3.2.0
    @vue/cli-plugin-eslint: ^3.2.0 => 3.2.1
    @vue/cli-service: ^3.2.0 => 3.2.0
    @vue/cli-shared-utils:  3.2.0
    @vue/component-compiler-utils:  2.3.0
    @vue/preload-webpack-plugin:  1.1.0
    @vue/web-component-wrapper:  1.2.0
    babel-helper-vue-jsx-merge-props:  2.0.3
    babel-plugin-transform-vue-jsx:  4.0.1
    eslint-plugin-vue: ^5.0.0-0 => 5.0.0
    vue: ^2.5.17 => 2.5.19
    vue-eslint-parser:  4.0.3
    vue-hot-reload-api:  2.3.1
    vue-loader:  15.4.2
    vue-router: ^3.0.2 => 3.0.2
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.5.17 => 2.5.19
    vue-template-es2015-compiler:  1.6.0
  npmGlobalPackages:
    @vue/cli: 3.2.1

Steps to reproduce
Using yarn link to add a local package folder to node_modules results in es-lint checking the .eslintrc in the package directory.
What is expected?
No errors
What is actually happening?
Project directory: /Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day
using yarn link to add "frames.js" directory.
When importing the module into a .vue file, i get this error:
Module build failed (from ./node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js):
Error: Cannot find module 'eslint-config-standard'
Referenced from: /Users/wellcaffeinated/Documents/github/frames.js/.eslintrc
    at ModuleResolver.resolve (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/util/module-resolver.js:72:19)
    at resolve (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/config/config-file.js:484:28)
    at load (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/config/config-file.js:556:26)
    at configExtends.reduceRight (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/config/config-file.js:430:36)
    at Array.reduceRight (<anonymous>)
    at applyExtends (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/config/config-file.js:408:26)
    at loadFromDisk (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/config/config-file.js:528:22)
    at Object.load (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/config/config-file.js:564:20)
    at Config.getLocalConfigHierarchy (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/config.js:240:44)
    at Config.getConfigHierarchy (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/config.js:192:43)
    at Config.getConfigVector (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/config.js:299:21)
    at Config.getConfig (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/config.js:342:29)
    at processText (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/cli-engine.js:180:33)
    at CLIEngine.executeOnText (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/eslint/lib/cli-engine.js:686:40)
    at lint (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js:253:17)
    at transform (/Users/wellcaffeinated/Documents/github/minutelabsio/what-is-a-day/node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js:231:18)

You may use special comments to disable some warnings.
Use // eslint-disable-next-line to ignore the next line.
Use /* eslint-disable */ to ignore all warnings in a file.

Tried "no-eslintrc": true in eslintConfig. No effect.
Tried adding node_modules to .eslintignore. No effect.
Want to disable eslint's checking of the node_modules directory

Workaround:
// vue.config.js
module.exports = {
  // ...
  configureWebpack: {
    resolve: { symlinks: false }
  }
}

So it's not a bug in Vue CLI. It's by design (of webpack).

See https://github.com/vuejs/vue-cli/pull/2409

Thanks!
This worked for me!
resolve: {
        symlinks: false,
    },


calendarHeaderView

I am runing Example but calendarHeaderView not center . Any help me
Xcode 11.3.1

Maybe this could help: https://github.com/WenchaoD/FSCalendar/issues/1057#issuecomment-700061403

ok I got it thank so much @twilightDD

Try this in your ViewDidLoad function:
calendar.appearance.headerTitleAlignment = .center


Fix link to source of CLA definition as blog down

Modfies the link to the original definition post to point to wayback machine, as blog is down right now

..

project seems dead.