Cannot group by IP address

CrateDB version: 2.2.3
JVM version: Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
OS version / environment description: Ubuntu 16.04
Problem description:
DISTINCT ip_address and GROUP BY ip_address will error with:
SQLActionException[SQLParseException: encoded bytes are of incorrect length]

Steps to reproduce:

Create table with an ip column
Try to group by it

Hello @SneakyMax
Cannot reproduce this issue with both ipv4 & ipv6 addresses.
Could you also provide the data you insert into the table?
Have you inserted the data with normal inserts or by using copy from?

Well that's unfortunate.
It's our main 70-million row table, so it has many many IP addresses.
They were all inserted with COPY FROM. Some of them are null. I'll see what I can do about dumping them to check for anything weird.

@matriv if you have any other ideas on how I can figure out what's going on, without having to dump all 70 million rows, let me know.

@SneakyMax
Some more questions:

So you have only ipv4 addresses, or only ipv6, or both?
The table data type is IP I guess?
The json file used for copy from had values as strings or as longs?
Did you upgrade from a previous Crate version to reach 2.2.3 and the data were already there?

@SneakyMax Could you also provide the full stacktrace, please?

Only ipv4, yeah
Yeah, "ip_address" IP per SHOW CREATE TABLE
Strings
Yes, we've updated the cluster several times.
@matriv Where might I find the full stack trace? It's not returned in the XHR call in the admin panel, and it's not in the current log file at /var/log/crate

@SneakyMax  You can just switch on the verbose mode in crash with \verbose and execute the query. Or from web UI you can execute the query from the console but before check the Show error trace.

Here's the trace:
SQLActionException: BAD_REQUEST 4000 SQLParseException: encoded bytes are of incorrect length
	at io.crate.exceptions.SQLExceptions.esToCrateException(SQLExceptions.java:183)
	at io.crate.exceptions.SQLExceptions.createSQLActionException(SQLExceptions.java:124)
	at io.crate.rest.action.RestResultSetReceiver.fail(RestResultSetReceiver.java:117)
	at io.crate.protocols.postgres.RetryOnFailureResultReceiver.fail(RetryOnFailureResultReceiver.java:76)
	at io.crate.action.sql.RowConsumerToResultReceiver.accept(RowConsumerToResultReceiver.java:52)
	at io.crate.executor.transport.executionphases.InterceptingRowConsumer$1.onResponse(InterceptingRowConsumer.java:89)
	at io.crate.executor.transport.executionphases.InterceptingRowConsumer$1.onResponse(InterceptingRowConsumer.java:85)
	at io.crate.executor.MultiActionListener.countdown(MultiActionListener.java:66)
	at io.crate.executor.MultiActionListener.onResponse(MultiActionListener.java:53)
	at org.elasticsearch.action.ActionListenerResponseHandler.handleResponse(ActionListenerResponseHandler.java:46)
	at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleResponse(TransportService.java:1060)
	at org.elasticsearch.transport.TcpTransport$1.doRun(TcpTransport.java:1442)
	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
	at org.elasticsearch.common.util.concurrent.EsExecutors$1.execute(EsExecutors.java:110)
	at org.elasticsearch.transport.TcpTransport.handleResponse(TcpTransport.java:1434)
	at org.elasticsearch.transport.TcpTransport.messageReceived(TcpTransport.java:1403)
	at org.elasticsearch.transport.netty4.Netty4MessageChannelHandler.channelRead(Netty4MessageChannelHandler.java:74)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297)
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:545)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at java.lang.Thread.run(Thread.java:748)

@SneakyMax I guess this is related to https://github.com/crate/crate/issues/6701
Can you please run your query but exclude nulls? (WHERE ip_address IS NOT NULL)

That works! Guess the issues can be merged


Install WebView2 failed

If WebView2 is not installed on the system, such as on Win7 and some older versions of Win10, an error message indicating installation failure of WebView2 will pop up during the installation process.
Versin：Windows <IP_ADDRESS>

Detect whether webview2 exists, if not installed

202acb5da949bccf24bf348199b97d16dc102044

win117 test failed.


Rails 6 scoping deprecation warning

Since Rails 6 using the overlap validation gives a deprecation warning when calling ActiveRecord's find_or_create_by:
DEPRECATION WARNING: Class level methods will no longer inherit scoping from `create` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `Model.unscoped`. (called from __pry__ at (pry):19)

To repoduce, suppose we have an ActiveRecord model:
class Model < ApplicationRecord
  validates :starts_at, :ends_at, overlap: true
end

Then calling Model.find_or_create_by(...) or Model.find_or_create_by!(...) results in the deprecation warning. It doesn't matter which attributes are given as long as there isn't a record with those attributes yet and a create is attempted. The warning does not occur when using find_or_initialize_by.
More information about the deprecation warning: https://github.com/rails/rails/pull/35280

Hi @kreintjes ,
thank you for reporting this issue. I'm very busy with other stuff now, but hopefully I will be able to fix it before 6.1 release.
In any case, pull requests are welcome.

Hi @kreintjes , please try version 1.0 . Thank you @kamipo for contribution.

Will do. Thanks for the update and thanks @kamipo for the quick fix!

Works like a charm. Thanks again!


Feature Request- Conditional GPLVM

In the Nature Methods paper it suggests it would be possible to include covariates in the scLVM procedure but I don't think it is fully implemented yet in the gp_clvm function. Just wanted to say I'm very interested in this application and look forward to seeing it as a new feature.

Hi.
Yes, this is possible and fully implemented. For R (recommended interface) the functionality is illustrated in the tutorial. In the python version the procedure is very similar for fitting the conditional GPLVM with the gp_clvm function. If you just have covariates which you would like to include for the variance decomposition and/or correlation analysis as described in the paper you can just pass them to the respective methods. In this case K is a list of all covariance matrices, corresponding to inferred factors and as well as known covariates. If you'd like to include batch, for example, you can construct the corresponding covariance matrix using a delta kernel.
I will include this in the python vignette soon, too.
Florian

I will include this in the python vignette soon, too.

Hi Florian,
I am unable to find this functionality in the python vignette. (https://github.com/PMBio/scLVM/blob/master/tutorials/tcell_demo.ipynb)
Considering this post is about 3-4 years old, so I am guessing it is already there but for some reason I am not able to find it. So, if you would be kind enough to point me in the right direction.
Forgive my naivety as I am a beginner in bioinformatics/computational biology field.
Ammar


Skills as table with 4 columns

Dear everyone,
I am trying to make my cv look a bit more compressed so I can include more information in just one page. That's why I was unsuccessfully trying to split the table in the section 'skills', from 2 columns to 4 columns.
It would look like the following picture:

Could anyone help me with this issue?
Thanks

It should be easy enough to have a side by side minipage(s) containing the two column version of cvskill.

I'm going to close this as suggestion provided and OP probably figured it out or otherwise moved on.
Feel free to reopen or comment if above suggestion doesn't work (or to confirm it does!) though.

I have tried it but couldn't manage to correctly implement it.
If you think it is that easy, could you just try it out and send it to me afterwards?
Thank you very much.

You'll need to adjust the spacing a bit yourself, but an fast way to implement 4 columns with minipage without modifying the .cls file  is below.
Note: This is not necessarily a proper way to go about this, but it works, it's quick, and I'm terribly short on time. Think of is as a passable example rather than an exemplar.
You'll need to sort out getting the spacing right yourself, as well as the line breaks if the descriptions are too long.
Steps Taken:

Split the skill between two .tex files, e.g. skills.tex and skills copy.tex.
Comment out or delete \cvsection{Skills} in both files.
Add the minipages and a \cvsection{Skills} to the cv.tex file or the resume.tex file, similar to the example below:

%-------------------------------------------------------------------------------
%	CV/RESUME CONTENT
%	Each section is imported separately, open each file in turn to modify content
%-------------------------------------------------------------------------------
\input{cv/education.tex}
\cvsection{Skills}

\begin{minipage}[t]{.45\textwidth}
  \vspace{-.5cm}
  \input{cv/skills.tex}
\end{minipage}\hspace{.1\textwidth}%
\begin{minipage}[t]{.45\textwidth}
  \vspace{-.5cm}
  \input{cv/skills copy.tex}
\end{minipage}

\input{cv/experience.tex}

I assume OP has solved the issue, but I figured I'll share my solution to the above issue nonetheless, in case someone else runs into this.
In the cls file you can add the following code to create the environment:
% Define an environment for cvskilldouble to put 2 skills into 1 line
\newenvironment{cvskillsdouble}{%
  \begin{center}
    \setlength\tabcolsep{1mm}
    \setlength{\extrarowheight}{-1.5pt}
	 \begin{tabular*}{\textwidth}{ R{3.5cm}  R{1.6cm} L{4.0cm} R{1.3 cm} L{\textwidth}}
}{%
    \end{tabular*}
  \end{center}
  \vspace{6mm}
}
% Define a line of with 2 skills on 1 line
% Usage: \cvskilldouble{<type>}{<level>}{<skillset>}{<level>}{<skillset>}
\newcommand*{\cvskilldouble}[5]{%
	\skilltypestyle{#1} & \skillstarstyle{#2} & \skillsetstyle{#3} & \skillstarstyle{#4} & \skillsetstyle{#5}\\
}

Now create a skills.tex file as follows:
%	SECTION TITLE
\cvsection{Skills}

\begin{cvskillsdouble}

%LANGUAGES
\cvskilldouble{Languages}
{\0} {Spanish}
{\8} {Italian}
\cvskilldouble {}
{\9} {English}
{\5} {French}

%Computer skills
\cvskilldouble{IT skills}
{\0} {DevOps}
{\8} {Front-end}
\cvskilldouble {}
{\9} {Back-end}
{\5} {Programming}
\cvskilldouble {}
{\8} {Something else}
{} {}

\end{cvskillsdouble}

This will create the following output:

Alternatively, to get it to look exactly like OP wanted:
in the cls:
% Define an environment for OP
\newenvironment{cvskillsdoubleOP}{%
  \begin{center}
    \setlength\tabcolsep{1mm}
    \setlength{\extrarowheight}{-1.5pt}
	 \begin{tabular*}{\textwidth}{
	    R{2cm} R{1.1cm} L{5.0cm}
	    R{1.5cm} R{1.1 cm} L{\textwidth}}
}{%
    \end{tabular*}
  \end{center}
  \vspace{6mm}
}

% Define skills for OP
% Usage: \cvskilldouble{<type>}{<level>}{<skillset>}{<type>}{<level>}{<skillset>}
\newcommand*{\cvskilldoubleOP}[6]{%
	\skilltypestyle{#1} & \skillstarstyle{#2} & \skillsetstyle{#3} & \skilltypestyle{#4} & \skillstarstyle{#5} & \skillsetstyle{#6}\\
}

and in the tex file

%	SECTION TITLE
\cvsection{Languages}

\begin{cvskillsdoubleOP}

%LANGUAGES
\cvskilldoubleOP
{Spanish} {\0} {Mother-tongue}
{Italian} {\8} {Professional proficiency (B2-C1}
\cvskilldoubleOP
{English} {\9} {Full professional proficiency (C1-C2)}
{French} {\5} {Elementary proficiency (B1-B2)}

\end{cvskillsdoubleOP}

@DaniBodor , you have not provided the style \skillstarstyle

Not sure if this is what you're looking for:
% For elements of skill
\newcommand*{\skilltypestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}}
\newcommand*{\skillstarstyle}[1]{{\fontsize{6pt}{1em}\bodyfont\bfseries\color{lightlightgray} #1}}
\newcommand*{\skillsetstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\color{text} #1}}

% Formatting of skill level circle
\def\emptycolor{lightlightgray}
\def\fullcolor{awesome}
\newcommand{\lc}{\tikz\draw[\emptycolor,fill=\emptycolor] (0,0) circle (.8ex); }
\newcommand{\dc}{\tikz\draw[\fullcolor,fill=\fullcolor] (0,0) circle (.8ex); }

\def\Angle{-30}
\newcommand{\hc}[1][0]{%
    \begin{tikzpicture}[baseline=-.8ex,\emptycolor]
            \draw[clip,fill] (0,0) circle (.8ex);
            \draw[\fullcolor,fill=\fullcolor,rotate=\Angle] (0,0) -- (0,.8ex) arc (90:270:.8ex) -- cycle;
    \end{tikzpicture} %
}

% Define level (skill = <num>/2)
\newcommand{\1}{\hc\lc\lc\lc\lc}
\newcommand{\2}{\dc\lc\lc\lc\lc}
\newcommand{\3}{\dc\hc\lc\lc\lc}
\newcommand{\4}{\dc\dc\lc\lc\lc}
\newcommand{\5}{\dc\dc\hc\lc\lc}
\newcommand{\6}{\dc\dc\dc\lc\lc}
\newcommand{\7}{\dc\dc\dc\hc\lc}
\newcommand{\8}{\dc\dc\dc\dc\lc}
\newcommand{\9}{\dc\dc\dc\dc\hc}
\newcommand{\0}{\dc\dc\dc\dc\dc}

Note that most of this was already present in the version of awesome CV I copied from a friend (not sure what the origin of this is, but the result is similar to OP).
I created the tilted half-filled circles with the help of https://tex.stackexchange.com/questions/631565/rotating-dual-colored-circle-without-changing-width-or-center

@DaniBodor : I needed to add this to the skills.tex file in order to define correctly the \skillstartyle :
\definecolor{lightlightgray}{gray}{0.95}
Without that line of code, compiling resulted in :
xcolor Error : Undefined color 'lightlightgray'

@DaniBodor I got a different result:

Here're the warnings:
/Users/xin/Documents/github/Awesome-CV/examples/cv/skills.tex:37: Undefined control sequence. [{\8} {Italian}]
/Users/xin/Documents/github/Awesome-CV/examples/cv/skills.tex:40: Undefined control sequence. [{\5} {French}]
/Users/xin/Documents/github/Awesome-CV/examples/cv/skills.tex:45: Undefined control sequence. [{\8} {Front-end}]
/Users/xin/Documents/github/Awesome-CV/examples/cv/skills.tex:48: Undefined control sequence. [{\5} {Programming}]
/Users/xin/Documents/github/Awesome-CV/examples/cv/skills.tex:51: Undefined control sequence. [{} {}]

I have added these commands to skills.tex. Any idea?


Function needed

can you send me the function that transfers the cover from "1-00-0" to the boolean expression AC'D'F'

I think that was in @SamanodyJr 's Function. Mine uses different expression to transform it to boolean.

you will find the printing function in outputting.cpp on the repo ! sorry for late reply!


Swap the word "Unsubscribed" to "Subscribed" after clicking the button on either the Community list or with the button in a specific community

Done in my dev tree

Done in my dev tree


[Bug][Relax] Inconsistent IRs will be got when Load IRs with R.nn.pad operator

Actual behavior
error: pad() got multiple values for argument 'pad_width'
 --> <str>:8:55
   |
 8 |          gv: R.Tensor((2, 130, 30), dtype="float32") = R.nn.pad(x, R.const(0, "int32"), pad_width=[0, 0, 1, 1, 1, 1], pad_mode="constant")
   |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Steps to reproduce
import tvm
from tvm import relax
from tvm.script import relax as R

@tvm.script.ir_module
class Module:
    @R.function
    def main(x: R.Tensor((2, 128, 28), "float32")) -> R.Tensor((2, 130, 30), "float32"):
        gv: R.Tensor((2, 130, 30), "float32") = R.nn.pad(x, (0, 0, 1, 1, 1, 1))
        return gv

m = Module
m.show()
m_str = m.script()
m2 = tvm.script.from_source(m_str)
m2.show()  # crash

@junrushao @tqchen @Lunderberg

looks the nn.pad is not roundtrip-able with tvmscript, the ordering the parameters in parser is different from that in printer.

@yongwww Agree! Should we provide a PR to fix the nn.pad to a roundtrip-able operator?

@yongwww  Agree! Should we provide a PR to fix the nn.pad to a roundtrip-able operator?
BTW, R.nn.attention has a similar issue: https://github.com/apache/tvm/issues/17486

@jikechao I'd appreciate it if you could submit a PR to fix this. No worries if you're busy, please let me know and I'll take care of it.

@yongwww  I am not very familiar with the relevant source code, it would be better to assign it to other colleagues. Thanks!


CHANNELLEN, AWAYLEN, etc

Looks like there's no limit on the length of channel names and such. I think I'd prefer a configurable limit instead of none supported.

NICKLEN and CHANNELLEN added in a5911ad14c9250cb5d5f584f0ef02a37ee8a1a6f

KICKLEN and TOPICLEN added in 79d831bbb77ce4bdef36979d2c918d8583049508

AWAYLEN added in 0087de6092715e0338279a40813f47f5558cb12a

Going with alternate IRCv3 proposal instead of LINELEN token.


GreasedLines: Fix material not disposed

See https://forum.babylonjs.com/t/potential-memory-leak-when-disposing-greasedline/48098

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

WebGL2 visualization test reporter:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14786/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
Important - these might fail sporadically. This is an optional test.
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14786/merge/testResults/webgpuplaywright/index.html


Support Kotlin-Android rules

Codecov Report

Merging #67 into master will decrease coverage by 1.68%.
The diff coverage is 95.65%.

@@            Coverage Diff             @@
##           master      #67      +/-   ##
==========================================
- Coverage   92.38%   90.70%   -1.69%
==========================================
  Files          33       33
  Lines        1327     1097     -230
==========================================
- Hits         1226      995     -231
- Misses        101      102       +1

Impacted Files
Coverage Δ

...java/net/evendanan/bazel/mvn/impl/RuleWriters.java
93.26% <95.65%> (-4.94%)
:arrow_down:

Continue to review full report at Codecov.

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


Update util_atomicals.py

修正了缺少 get_address_from_output_script 函数的导致无法启动的问题

@Yarnjay  I fix this import error in https://github.com/atomicals/atomicals-electrumx/pull/72, Thank you for identifying this error.

Can you please rebase and submit again?


fix/feat: add duplicate envs without instance suffix

Adds Configuration broker properties without instance ID
fixes https://github.com/project-akri/akri/issues/708
Say a configuration has the following brokerProperties:
  brokerProperties:
    RESOLUTION_WIDTH: "800"
    RESOLUTION_HEIGHT: "600"

Now, the following broker envs are mounted:
RESOLUTION_WIDTH_D46B65="800"
RESOLUTION_HEIGHT_D46B65="600"
RESOLUTION_WIDTH="800"
RESOLUTION_HEIGHT="600"

Ideally, the suffixed envs would not be added (as was the case in the previous release) but to avoid doing so would require the agent to make additional K8s API calls to get the configuration for an configuration-level device plugin which is created by reconciling new instance objects.
Adds duplicate env without instance ID attached
closes https://github.com/project-akri/akri/issues/704
Example broker envs for debug echo deployment with these resource requests:
Resource requests:
          requests:
            akri.sh/akri-debug-echo-foo-ab76e6: "1"
            akri.sh/akri-debug-echo-foo-d46b65: "1"

These are the envs mounted in the broker:
DEBUG_ECHO_DESCRIPTION_D46B65=bar0
DEBUG_ECHO_DESCRIPTION_AB76E6=bar1
DEBUG_ECHO_DESCRIPTION=bar1

In this scenario, we discourage people from using DEBUG_ECHO_DESCRIPTION because it is non-deterministic. If one resource request for a Discovery Handler was issued, then DEBUG_ECHO_DESCRIPTION could be consistently used.

/version patch


[Icq] gst-msdk added av1-8bit encode ICQ mode support

1, LP AV1 ICQ mode
2, Non-LP ICQ mode
3, gst-msdk cmd line change

msdkav1enc
On DG2/ATSM, iHD uses LP av1 enc, so gst-msdk only has msdkav1lpenc
On MTL, iHD uses Non-LP av1 enc, so gst-msdk only has msdkav1enc

msdkav1enc
On DG2/ATSM, iHD uses LP av1 enc, so gst-msdk only has msdkav1lpenc
On MTL, iHD uses Non-LP av1 enc, so gst-msdk only has msdkav1enc

gst-msdk does not have separate elements for lp vs. non-lp.  I think you got it confused with gst-va.
Anyhow, I figured out the problem (see VIZ-20142)


WordingStatus

Are you familiar with WordingStatus ?

yes I am, there was a brief discussion about it in my pull request for this plugin if you're interested


Move swap2

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (267c6f9) 100.00% compared to head (3674fba) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #394   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           19        19
  Lines         1775      1777    +2
  Branches       186       186
=========================================
+ Hits          1775      1777    +2

Files Changed
Coverage Δ

src/redcat/utils/common.py
100.00% <100.00%> (ø)

src/redcat/utils/tensor.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Selection Fix

Turns out I wrote this on top of the branch I used for exposing the scroll API. Do you want me to create a separate branch without the exposure and create a PR ? Not sure what best practices are in this regard.

It's good to base independent PRs off the master branch, so that they can be dealt with independently. But we can now first resolve the other PR and once that is merged, the other commit will be cleared from this PR automatically.

Thought so.

Why does Shortcut+Left/Right skip 2 boundaries, while Shift+Shortcut+Left/Right only 1?

When I wrote the initial code, I realized that Shift+Shortcut+Left/Right would also select trailing/leading word boundaries, so I reduced it to 1. I wasn't sure if Shortcut+Left/Right should do the same.

At least they should be consistent. The problem with skipping just one boundary is that if the cursor is at the beginning of a word and you press (Shift+)Shortcut+Left, it will only move to the end of the previous word, not to the beginning of the previous word. So probably some more sophisticated logic is needed to fix that. But I'm OK if this PR just fixes the double-click case and leaves the rest as it was (i.e. skip 2 word boundaries for the rest).

That makes sense.

I opened an issue for the above inconsistency so it can be dealt with separately.

Cool, thank you!


Implement Dijkstra's Algorithm Animations

There are many version of the famous best first search algorithm by Dijkstra. The one that will be implemented involves using a Heap, enqueing all vertices with infinite distance, except the source, which would have distance of 0, into the Heap.
This Epic involves several smaller parts:

Include vertex distance, possibly as a red text below the vertex body.
Include the animated pseudo-code display of the algorithm.
Include a visualisation of a sorted set of vertices, dynamically sort them by distance thus far. "Done" vertices would be coloured another colour etc.

Tasks 1 and 2 has been implemented in fb355cdc4d14500cd5933fa1d79d865110526b97.
Task 3 has been implemented in 8d520665cce05843926548d3ea184816a1388663.


fix/sc-8265 : fix the legal name step issue

Scope of changes
fix/sc-8265 : fix the legal name step issue
Type of change

[x] bug fix
[ ] new feature
[ ] documentation
[ ] other (describe)

Acceptance criteria
fix/sc-8265 : fix the legal name step issue
Author checklist

[ ] I have manually tested the change and/or added automation in the form of unit tests or integration tests
[ ]  I have updated the dependencies list
[ ]  I have recompiled and included new protocol buffers to reflect changes I made
[ ]  I have added new test fixtures as needed to support added tests
[x]   Check this box if a reviewer can merge this pull request after approval (leave it unchecked if you want to do it yourself)
[x]  I have moved the associated Shortcut story to "Ready for Review"

Reviewer(s) checklist

[ ] Any new user-facing content that has been added for this PR has been QA'ed to ensure correct grammar, spelling, and understandability.

Codecov Report

Merging #716 (7d8fac9) into main (224ef71) will decrease coverage by 6.29%.
The diff coverage is n/a.

:exclamation: Current head 7d8fac9 differs from pull request most recent head 21db138. Consider uploading reports for the commit 21db138 to get more accurate results

@@            Coverage Diff             @@
##             main     #716      +/-   ##
==========================================
- Coverage   44.42%   38.13%   -6.30%
==========================================
  Files         426      155     -271
  Lines       15063     2431   -12632
  Branches      685      618      -67
==========================================
- Hits         6692      927    -5765
+ Misses       7355     1327    -6028
+ Partials     1016      177     -839

Impacted Files
Coverage Δ

...i/src/components/NeedsAttention/AttentionAlert.tsx

...b/gds-user-ui/src/components/Sidebar/MobileNav.tsx

web/gds-user-ui/src/modules/auth/login/index.tsx

...b/gds-user-ui/src/modules/auth/login/user.slice.ts

...src/modules/dashboard/certificate/registration.tsx

...ser-ui/src/modules/dashboard/registration/utils.ts

web/gds-user-ui/src/utils/address-utils.tsx

web/gds-user-ui/src/utils/cookies.ts

web/gds-user-ui/src/utils/utils.ts

web/gds-user-ui/src/constants/trixo.ts

... and 571 more

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


Radium "features" wiki page

Could it be interesting to keep up to date a wiki page where we list interesting radium features ?
It's easy to not pay attention to a commit and miss features that might help you (i.e. geometry processing algorithms, debug stuff (drawprimitives, debug render), raytracing, acceleration structures, etc)

So what you want has a name.... It's called a manual. And  we must write it.

We could just begin by writing the features, without explaining them (or
just a bit of code, if needed for clarity). That might help writing man
pages and not forgetting everything later on
2016-03-23 15:50 GMT+01:00 Valentin Roussellet<EMAIL_ADDRESS>
So what you want has a name.... It's called a manual. And we must write it.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/AGGA-IRIT/Radium-Engine/issues/92#issuecomment-200377392


Using the State of the Ecosystem in a new Haskell Guide

I'm developing a newcomer friendly Haskell Guide here (https://haskell-docs.netlify.app/), and I refer to your excellent State of the Ecosystem post a few times. It occurred to me that I could host the list inside the guide - either the whole thing, or just the packages in each section, without the prose (screenshot below to show what it would look like). Of course, I wouldn't do this without checking with you if it's ok (and if I did it, I'd credit you and link to this repo), but I thought there would be no harm in asking what you thought.
Thanks!

yeah, that's totally fine!  the only thing to be aware of are the terms of the license
in particular, you mainly just need to attribute the work


(maint) Bump version used for testing

Description
The latest version available exactly one year
ago. Because of this we are bumping the version
0.12.1
Motivation and Context
We only support the versions of Chocolatey CLI that was the latest exactly 1 year ago and all versions that came after it.
How Has this Been Tested?
N/A
Screenshot (if appropriate, usually isn't needed):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Migrated package (a package has been migrated from another repository)

Checklist:

[x] My code follows the code style of this repository.
[ ] My change requires a change to documentation (this usually means the notes in the description of a package).
[ ] I have updated the documentation accordingly (this usually means the notes in the description of a package).
[ ] I have updated the package description and it is less than 4000 characters.
[ ] All files are up to date with the latest Contributing Guidelines
[ ] The added/modified package passed install/uninstall in the chocolatey test environment.
[ ] The changes only affect a single package (not including meta package).

Original Location
N/A

:white_check_mark: Package verification completed without issues. PR is now pending human review


explore use of arrow files instead of csv/json

no real benefits can be realized, backend layer possible future solution.


[olympics.com] Data must be padded to 16 byte boundary in CBC mode

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2022.04.08 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
Trying to download an olympics replay using the native downloader. I'm getting the same 16 byte padding error as in #1297
Verbose log
[debug] Command-line config: ['-vU', '-o', '%(upload_date)s %(title)s [%(id)s].%(ext)s', '--write-info-json', 'https://olympics.com/en/video/women-s-heat-1-2-skeleton-beijing-2022-replays']
[debug] System config "/etc/yt-dlp.conf": []
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2022.04.08 [7884ade65]
[debug] Python version 3.8.10 (CPython 64bit) - Linux-5.4.162-1-pve-x86_64-with-glibc2.29
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 4.2.4, ffprobe 4.2.4
[debug] Optional libraries: brotli, certifi, Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2022.04.08, Current version: 2022.04.08
yt-dlp is up to date (2022.04.08)
[debug] [OlympicsReplay] Extracting URL: https://olympics.com/en/video/women-s-heat-1-2-skeleton-beijing-2022-replays
[OlympicsReplay] women-s-heat-1-2-skeleton-beijing-2022-replays: Downloading webpage
[OlympicsReplay] bd56bbb2-545d-472f-97b0-72261ff43cc6: Downloading m3u8 url
[OlympicsReplay] bd56bbb2-545d-472f-97b0-72261ff43cc6: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] bd56bbb2-545d-472f-97b0-72261ff43cc6: Downloading 1 format(s): hls-6321+hls-audio_group-ENGLISH
[info] Writing video metadata as JSON to: 20220211 Women's Heat 1 & 2 - Skeleton _ Beijing 2022 Replays [bd56bbb2-545d-472f-97b0-72261ff43cc6].info.json
WARNING: Requested formats are incompatible for merge and will be merged into mkv
[debug] Invoking downloader on "https://vod-b.olympicchannel.com/output/bei1000234/hdntl=exp=1651208831~acl=%2f*~data=hdntl~hmac=b61c289241dc78ff269e4bf009f33a0e7d183c3cd74c94fb5411bd50a6fe493c/video_1920_6000000-1644750005.m3u8?aka_me_session_id=AAAAAAAAAAB%2fcmtiAAAAALga06PYRdjS8WBqGVmWAMcWSD232RBUvTRVjjtMdEpwR5jiQBy3vz+RqWOiVaXxf+f%2fSVdbHitZ&aka_media_format_type=hls"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 1887
[download] Destination: 20220211 Women's Heat 1 & 2 - Skeleton _ Beijing 2022 Replays [bd56bbb2-545d-472f-97b0-72261ff43cc6].fhls-6321.mp4
[download] 20220211 Women's Heat 1 & 2 - Skeleton _ Beijing 2022 Replays [bd56bbb2-545d-472f-97b0-72261ff43cc6].fhls-6321.mp4.part-Frag321 has already been downloaded
[download]  17.0% of ~5.39GiB at 98.23MiB/s ETA Unknown (frag 321/1887)ERROR: Data must be padded to 16 byte boundary in CBC mode
Traceback (most recent call last):
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 1492, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 1548, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 2648, in process_video_result
    self.process_info(new_info)
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 3120, in process_info
    partial_success, real_download = self.dl(fname, new_info)
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/YoutubeDL.py", line 2846, in dl
    return fd.download(name, new_info, subtitle)
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/downloader/common.py", line 457, in download
    ret = self.real_download(filename, info_dict)
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/downloader/hls.py", line 358, in real_download
    return self.download_and_append_fragments(ctx, fragments, info_dict)
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/downloader/fragment.py", line 531, in download_and_append_fragments
    result = append_fragment(decrypt_fragment(fragment, self._read_fragment(ctx)), fragment['frag_index'], ctx)
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/downloader/fragment.py", line 375, in decrypt_fragment
    return unpad_pkcs7(aes_cbc_decrypt_bytes(frag_content, decrypt_info['KEY'], iv))
  File "/root/.local/lib/python3.8/site-packages/yt_dlp/aes.py", line 19, in aes_cbc_decrypt_bytes
    return compat_pycrypto_AES.new(key, compat_pycrypto_AES.MODE_CBC, iv).decrypt(data)
  File "/root/.local/lib/python3.8/site-packages/Cryptodome/Cipher/_mode_cbc.py", line 246, in decrypt
    raise ValueError("Data must be padded to %d byte boundary in CBC mode" % self.block_size)
ValueError: Data must be padded to 16 byte boundary in CBC mode

Possibly same issue as https://github.com/yt-dlp/yt-dlp/issues/1297

@shirt-dev Did you ever figure out what the issue in #1297 actually is?

If I had to guess, it's the same issue. It looks like the solution padding to 16 bytes in this PR, https://github.com/yt-dlp/yt-dlp/pull/1298 may have been overwritten or taken out for some reason. Possibly because of the chance of variability in key lengths, and not always being 16 bytes.
A better place to check for data length might be in aes.py where CBC is being used for pycryptodome. But I would need to get more familiar with AES and CBC first to know if that's actually a good idea. If I remember properly, the data length must be evenly divisible by the key length. If the data isn't evenly divided, then data should be padded out. It is also possible pycryptodome will do that padding. It has been a long time since I've done any development, so I'm not sure.
Thanks for taking the time to look at it.

https://github.com/yt-dlp/yt-dlp/pull/1298 never actually fixed the issue and instead broke other downloads. So it was reverted

In my experience from working on #4330, I can say that you can only ever pad the 'plaintex', not the 'ciphertext'
AES is a block cipher that works only on 16-byte blocks; if the plaintext that we're trying to encrypt is not an exact multiple of 16, then we pad/fill the remaining bytes.
As a result of the encryption, we get a 'ciphertext' that is the 'result' of combining all the previous blocks, the round keys (key schedule) and its initialization vector (IV). AES Diagram. Modifying this ciphertext is like modifying a hash; if you add/remove even one bit, it won't correspond to the same plaintext.
In short, the problem comes down to a malformed ciphertext, as it must be already padded and probably these issues are origin fault or network related? (tcp should take care of integrity 🤔 ). From my point of view, there's nothing we can do.
Usual encryption-decryption process using AES CBC
    def test_aes_padding(self):
        plaintext = "Hello yt-dlp!"

        key = "6150645367566B59703273357638792F"
        iv = "397A24432646294A404E635266556A58"

        message_int_array = bytes_to_intlist(bytes(plaintext, 'utf-8'))
        print(message_int_array)  # [72, 101, 108, 108, 111, 32, 121, 116, 45, 100, 108, 112, 33]

        ciphertext = aes_cbc_encrypt(
            message_int_array,
            bytes_to_intlist(bytearray.fromhex(key)),
            bytes_to_intlist(bytearray.fromhex(iv)),
        )

        print(ciphertext)  # [96, 160, 106, 166, 149, 142, 131, 165, 79, 72, 67, 205, 217, 108, 23, 202]

        original_message_int_array = aes_cbc_decrypt(
            ciphertext,
            bytes_to_intlist(bytearray.fromhex(key)),
            bytes_to_intlist(bytearray.fromhex(iv)),
        )

        # It contains pkcs7 padding
        print(original_message_int_array)  # [72, 101, 108, 108, 111, 32, 121, 116, 45, 100, 108, 112, 33, 3, 3, 3]

        print(''.join([chr(x) for x in original_message_int_array]))  # Hello yt-dlp!

Trying to fix 'padding' issues
    def test_fix_padding(self):
        plaintext = "Hello yt-dlp!"

        key = "6150645367566B59703273357638792F"
        iv = "397A24432646294A404E635266556A58"

        message_int_array = bytes_to_intlist(bytes(plaintext, 'utf-8'))
        print(message_int_array)  # [72, 101, 108, 108, 111, 32, 121, 116, 45, 100, 108, 112, 33]

        ciphertext = aes_cbc_encrypt(
            message_int_array,
            bytes_to_intlist(bytearray.fromhex(key)),
            bytes_to_intlist(bytearray.fromhex(iv)),
        )

        # Simulate it's not correctly padded, and we add zeros
        ciphertext.pop()
        ciphertext.pop()
        ciphertext.append(0)
        ciphertext.append(0)

        print(ciphertext)  # [96, 160, 106, 166, 149, 142, 131, 165, 79, 72, 67, 205, 217, 108, 0, 0]

        original_message_int_array = aes_cbc_decrypt(
            ciphertext,
            bytes_to_intlist(bytearray.fromhex(key)),
            bytes_to_intlist(bytearray.fromhex(iv)),
        )

        print(original_message_int_array)  # [16, 193, 37, 112, 43, 20, 50, 200, 138, 138, 208, 105, 187, 111, 117, 221]

        print(''.join([chr(x) for x in original_message_int_array]))  # Á%p+2ÈÐi»ouÝ

I was looking at the previous try to fix this https://github.com/yt-dlp/yt-dlp/pull/1298/commits/e2783b3f3e45f17084fd797927dbbd84c778c38c
Original code
if self.params.get('test', False):
   return frag_content
decrypted_data = aes_cbc_decrypt_bytes(frag_content, decrypt_info['KEY'], iv)
padding_len = 16 - (len(frag_content) % 16)
decrypted_data = aes_cbc_decrypt_bytes(frag_content + bytes([padding_len] * padding_len), decrypt_info['KEY'], iv)
return decrypted_data[:-decrypted_data[-1]]

I think the problem comes from when the block is already 16 bytes
Problem
if self.params.get('test', False):
   return frag_content
decrypted_data = aes_cbc_decrypt_bytes(frag_content, decrypt_info['KEY'], iv)

# Let's suppose len(frag_content) = 16

padding_len = 16 - (len(frag_content) % 16)  # 16 - (16 % 16) = 16     <-- Wrong, it's already 16 bytes!
frag_content + bytes([padding_len] * padding_len)  # frag_content + [16, 16, ..., 16]  # We added bytes we didn't even need

decrypted_data = aes_cbc_decrypt_bytes(frag_content + bytes([padding_len] * padding_len), decrypt_info['KEY'], iv)
return decrypted_data[:-decrypted_data[-1]]

If skipping malformed fragments is not an option, and we don't care about decrypting non-sense data, we could pad it as
Possible solution
if self.params.get('test', False):
   return frag_content
decrypted_data = aes_cbc_decrypt_bytes(frag_content, decrypt_info['KEY'], iv)

# Let's suppose len(frag_content) = 16

padding_len = len(frag_content) % 16  # 16 % 16 = 0
frag_content + bytes([padding_len] * padding_len)  # frag_content + [[0] * 0]  = frag_content

decrypted_data = aes_cbc_decrypt_bytes(frag_content + bytes([padding_len] * padding_len), decrypt_info['KEY'], iv)
return decrypted_data[:-decrypted_data[-1]]

Excellent work! Nice spotting the math/logic bug. I bet that's why it was removed.
I think anything that results in a continued download is much more preferable than failing and moving on. Especially in this case where the problem was so easily repeatable. It was consistently the same fragment. Logic being, I'd rather have all the video missing a few fragments, than an unplayable partial file.
Personally, I would prefer an attempt to include the fragment, though I'm not sure what the result in video would look like. It may not even be feasible/correct to do this. However, we can only do best effort when we know the source is giving garbage.
Skipping the faulty fragment seems fine, but I'd have to wonder what was missed and if it could have been saved.

There is an assumption of a bad fragment. I wonder if we should also be thinking about a "partial" fragment. I don't know how to test for this, but is it possible the incomplete fragment might be joined with the next part of the data to form a completed fragment? I agree the network stack should be taking care of this, but sometimes weird stuff happens to IP frames.
That doesn't explain why it was consistently the same fragment though. It would be more likely an "origin fault", as you put it. Otherwise you'd expect that rerunning the download would result in continued progress instead of immediate failure on the same part.


numpy load error

@jaehlee - Hi Jaehoon, thank you for making your code public.  I was wondering if there might be a numpy dependency issue.  When running the "-- Usage" line, I get a numpy load error that is either:
fid.seek(-N, 1)  # back-up
TypeError: seek() takes exactly 2 arguments (3 given)
or
fid.seek(-min(N, len(magic)), 1)  # back-up
TypeError: seek() takes 2 positional arguments but 3 were given
that points to
line 110, in get_grid
grid_data_np = np.load(f)
Since there are already files in ./grid_data, I was assuming this should just run out of the box.  Is this correct?  If so, do you have a list of package versions that you used when developing this code?

I used grid_data_np = np.load(f, allow_pickle=True, encoding = 'latin1') and worked for me


GZ compress replay response

Use GZ to compress the json sent by the server. This reduces the amount of data sent by about 84%, or from 2.2MB to 350kB for IN.
Related: #370
Fixes #372

based on this chart, i think compression could reduce the time for "Comtent Download" by about 250ms.
I noticed also that the request API lets me choose the priority, and I set its priority to high. (Done in the second commit.) Considering that the connection was stalled for 540ms, I think there is a lot more room for improvement right there!

Added nrook's in which everything gzip-related is handled using middleware


Remove gTestFastRelaxed Dependencies in Brute Force

The global variable gTestFastRelaxed has state which is used to
control the behaviour of the compiler flag -cl-fast-relaxed-math and
the precision testing of relaxed, fp32 and fp64 types. This is confusing
since the global variable is being set and read in different translation
units, making it very difficult to reason about the logic of the brute
force framework. It is particular difficult to follow since the global
variables is cached and then turned off in the case of fp32 and f64 in
order to use the same code path as relaxed testing, after it is then
turned back on.

Remove uses of the global variable outside of main.cpp (the global
variable remains in use within main.cpp since it is a command line
option and used to turn of relaxed testing completely). Replace all uses
of the global variable with boolean relaxedMode which is passed as a
function paramter but replaces gTestFastRelaxed semantically.

Thanks for doing this! Please fix the hard-coding of -cl-fast-relaxed-math.

No problem, thanks for your feed back. Good catch, I must have hard coded the condition to true for testing purposes and forgotten to change it back. I have updated the two conditional statements.


server-2020/decrypt-telegraf-config

:gear: Issue

The migration script outputs telegraf's config in base64
We should decode this so that a customer can easily update it
:white_check_mark: Fix

Telegraf config is now decoded in values.yaml
:question: Tests

[ ] Tested Updating Existing Instance
[ ] Installed on new instance

This will be merged on 4.0.1 release.


One can no longer add multiple Public IP ranges, which share the same subnet.

ISSUE TYPE

Bug Report

COMPONENT NAME

Networking

CLOUDSTACK VERSION

4.11.2

CONFIGURATION

Advanced networking
OS / ENVIRONMENT

N/A
SUMMARY

One can no longer add multiple Public IP ranges, which share the same subnet.
Previously one could take a subnet, and split it into multiple ranges and dedicate them to different accounts.
Now each range must be on a unique subnet.
STEPS TO REPRODUCE

```create vlaniprange zoneId="4549cc45-bc59-421c-bda7-ce097c70de79" vlan=untagged gateway=<IP_ADDRESS> netmask=<IP_ADDRESS> startip=<IP_ADDRESS> endip=<IP_ADDRESS> forsystemvms=false forVirtualNetwork=true
create vlaniprange zoneId="4549cc45-bc59-421c-bda7-ce097c70de79" vlan=untagged gateway=<IP_ADDRESS> netmask=<IP_ADDRESS> startip=<IP_ADDRESS> endip=<IP_ADDRESS> forsystemvms=false forVirtualNetwork=true```

EXPECTED RESULTS

2nd range added without issue

ACTUAL RESULTS

Error message returned:

Error: (HTTP 431, error code 4350) The IP range with tag: vlan://untagged in zone ref-trl-868-k-M7-pangus has overlapped with the subnet. Please specify a different gateway/netmask.

cc @anuragaw can you take this one?

Sure @rhtyd . Looking at it starting today.

Traced back the bug introduction to https://github.com/apache/cloudstack/commit/41fdb88970d1a33d57ff08a3ecc239ec898956dc#diff-6e2b61984e8fa2823bb47da3caafa4eeR3174


📝 Documentation(i18n): Translate the Showcase page to French

Bug Report Checklist

[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Overview
Translate the Showcase Page to French; go to showcase.fr-FR.mdx and make the translations from there.
All you have to change is the top section though:

Additional Info

You can come into the docs channel in the Discord Server for further information. Do translate the front-matter as well.

Use an informal tone, not too informal though

Also, checkout the Contriibuting Guide incase you want to set up Million locally

Need help with this? I can take the task off you

Need help with this?  It's all yours. You can just go through the Contributing guide

Hi @iamfortune and @tobySolutions
Any updates on this issue?
How is going ?

Hello @geoffreylgv I will make a PR to fix this on Wednesday. Thank you.

Hi @geoffreylgv I've made a PR for this

Hi @geoffreylgv I've made a PR for this

Ok, well done!


Parsing from string is frankly unusable

What reason could there possibly be for SetString to require an instance of *decimal.Big to parse a string into the value at that pointer AND return a pointer to that value?
I'm fine with setters requiring a pointer to change the value instead of its copy, I'm fine with requiring a new variable to parse the value into, I'm not fine with having to make a decimal.Big variable to call the SetString method (either as z.SetString(str) or Context.SetString(z, str)) and a *decimal.Big variable to accept the return of SetString.
And there really is no other way around it, using a new *decimal.Big variable in both spots causes a nil pointer dereference on assignment to the return value, using one decimal.Big variable in both spots fails to compile because &z is unassignable as a return value.

Inb4 "of course it causes a nil pointer dereference because it's a new pointer variable" -- surely you don't expect me to initialize a non-zero decimal to be granted the exclusive privilege of parsing a string?


Add bio.tools for metanovo

Hi all,
This PR links the tools to its bio.tools entry: https://bio.tools/metanovo
It will be useful to get EDAM ontology annotations
Bérénice

I do not understand the tool enough to solve the test error


Reset password

Coverage remained the same at 91.827% when pulling 945e5843cc22c270be201e4fb49e08afe742925b on reset_password into 65d85b0dc4f6e9c07426af87f2daa442d24abbbf on master.


Merge HttpTransportPlugin with Netty4Plugin

Summary of the changes / Why this improves CrateDB
Instead of extending the Netty4Http.. classes with sub-classes we can
now simply extend the functionality as needed.
Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

@kovrus Could you have a look at this already and let me know if it overall makes sense to you? Blackbox tests are failing because cr8 sniffs the port number from the log and the pattern changes (see https://github.com/mfussenegger/cr8/pull/317)


proxy: pass options in get_role requests & allow_list caching key

would be good to write an overall description of what is being build here.
about the PR itself -- I think it is better to check JWT in proxy itself and have IP address in JWT, so that proxy can check that JWT.ip = real_ip


[SPARK-16286][SQL] Implement stack table generating function

What changes were proposed in this pull request?
This PR implements stack table generating function.
How was this patch tested?
Pass the Jenkins tests including new testcases.

Test build #61675 has started for PR 14033 at commit 6de93a1.

Test build #61675 has finished for PR 14033 at commit 6de93a1.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Stack(children: Seq[Expression])

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61675/
Test PASSed.

Rebased to resolve conflicts.

cc @rxin and @cloud-fan .

Test build #61693 has started for PR 14033 at commit d6691f7.

Test build #61693 has finished for PR 14033 at commit d6691f7.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Stack(children: Seq[Expression])

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61693/
Test PASSed.

Test build #61696 has started for PR 14033 at commit f02e1dd.

Test build #61696 has finished for PR 14033 at commit f02e1dd.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Stack(children: Seq[Expression])

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61696/
Test PASSed.

Test build #61705 has started for PR 14033 at commit e21bdd9.

Test build #61707 has started for PR 14033 at commit 6b82f6c.

Test build #61709 has started for PR 14033 at commit 3e3a794.

Test build #61705 has finished for PR 14033 at commit e21bdd9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61705/
Test PASSed.

Merged build finished. Test PASSed.

Test build #61707 has finished for PR 14033 at commit 6b82f6c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61707/
Test PASSed.

Test build #61709 has finished for PR 14033 at commit 3e3a794.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61709/
Test PASSed.

Hi, @cloud-fan .
I rewrote the testcases and logics.
I squashed the commits into a single one because the diff became messy.

Test build #61721 has started for PR 14033 at commit 51738d7.

Test build #61721 has finished for PR 14033 at commit 51738d7.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Stack(children: Seq[Expression])

Merged build finished. Test PASSed.

Thank you for fast review always, @cloud-fan !
I fixed one of three comments.

Test build #61729 has started for PR 14033 at commit 4c5ed83.

Test build #61729 has finished for PR 14033 at commit 4c5ed83.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61729/
Test PASSed.

Test build #61741 has started for PR 14033 at commit 9d93ddc.

Test build #61742 has started for PR 14033 at commit 8abcab5.

Test build #61741 has finished for PR 14033 at commit 9d93ddc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #61742 has finished for PR 14033 at commit 8abcab5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61741/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61742/
Test PASSed.

Test build #61759 has started for PR 14033 at commit 9913dd2.

Thank you so much always, @cloud-fan !

LGTM except some minor comments, thanks for working on it!

It's my pleasure. I'm still learning Spark. :)

Hi, @cloud-fan .
I added toArray and couldn't add type-checking tests on expression-level suite.
I hope that is okay for you. If not, please let me know.

Test build #61769 has started for PR 14033 at commit 7ed75b4.

Test build #61759 has finished for PR 14033 at commit 9913dd2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61759/
Test PASSed.

Now, the testcase became much stronger.

Test build #61772 has started for PR 14033 at commit 6cef803.

Test build #61772 has finished for PR 14033 at commit 6cef803.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61772/
Test FAILed.

Master branch is broken now. I'll retry to test later.

Retest this please

Test build #61777 has started for PR 14033 at commit 6cef803.

Test build #61769 has finished for PR 14033 at commit 7ed75b4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61769/
Test PASSed.

Test build #61777 has finished for PR 14033 at commit 6cef803.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61777/
Test PASSed.

Test build #61796 has started for PR 14033 at commit 4445248.

Test build #61796 has finished for PR 14033 at commit 4445248.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/61796/
Test PASSed.

thanks, merging to master!

Thank you for merging, @cloud-fan !

just found out that we didn't implement a type coercion rule for stack...

Oh, I'll look at that, @cloud-fan .

Do you mean the column-wise type coercion to support the following?
hive> select stack(2,1,'a',3,2);
FAILED: UDFArgumentException Argument 2's type (string) should be equal to argument 4's type (int)

let's follow hive, e.g. select stack(2, 1, null, 3, 2) can process

Ah, I see the case. Hive allows NULL. I'll try to support the NULL case. Thanks, @cloud-fan .
hive> select stack(3, 1, 'a', 2, 'b', 3, 'c');
OK
1	a
2	b
3	c

hive> select stack(3, 1, 'a', 2, 'b', 3, null);
OK
1	a
2	b
3	NULL

hive> select stack(3, 1, 'a', 2, 'b', 3, 1);
FAILED: UDFArgumentException Argument 2's type (string) should be equal to argument 6's type (int)

I created the JIRA issue. I'll make a PR soon.
https://issues.apache.org/jira/browse/SPARK-19910


Delete apiCallTest.java

Deleting a test file for our deleted placeholder api.

Context

The file existed to test our python placeholder api and we are getting rid of this new one.
Your Changes
Description:

Deleted the file.
Type of change (select all that apply):

[x] Other (please specify): Removing old files.

Checklist

[x] Code is up to date with main branch (no merge conflicts)
[x] Code has been properly tested
[ ] One or two people have reviewed this pull request

looks good


Cannot run @mediapipe/face_mesh in web worker

Please make sure that this is a solution issue.
System information (Please provide as much relevant information as possible)

Have I written custom code (as opposed to using a stock example script provided in Mediapipe): Yes, but n/a
OS Platform and Distribution (e.g., Linux Ubuntu 16.04, Android 11, iOS 14.4): Windows 10
MediaPipe version: n/a, face_mesh version 0.4.1629159166
Bazel version: n/a
Solution (e.g. FaceMesh, Pose, Holistic): FaceMesh
Programming Language and version ( e.g. C++, Python, Java): Javascript

Describe the expected behavior:
I would like to run @mediapipe/face_mesh in a web worker to avoid performance issues with other code on the main thread.
Standalone code you may have used to try to get what you need :
I started writing a minimal demo with the assumption that I could make predictions from an ImageData object, as was the case with the TF.js distribution of face-landmarks-detection: https://glitch.com/~mediapipe-facemesh-worker-issue
However I soon realized that according to the mediapipe solution's type definitions, the only accepted input types are HTML elements:
/**
 * We support several ways to get image inputs.
 */
export type InputImage = HTMLVideoElement | HTMLImageElement | HTMLCanvasElement;

None of these types are available in the worker scope (no DOM access). Additionally, searching for "window" in the JS build reveals a reliance on things like window.location.pathname which is also unavailable to workers.
Other info / Complete Logs :
A related issue was resolved with the Pose solution earlier in the year: #1509

I found a way for web worker:

Beatify face_mesh.js
Add this code after holistic.js line 1633: d.C = d.h.GL.currentContext.GLctx (after d.h.GL.makeContextCurrent(k);)
Put your worker file in the same folder with face_mesh.js
For every message you post to worker, do not post new messages before you receive result.
This is under assumption of vanilla js project.

holistic is fixed in this way too (d.C = d.h.GL.currentContext.GLctx; and line 933)
Working vanilla js example: https://alexshafir.github.io/Sensoria/
You need to rotate camera on the right in (+X & +Y) direction to see face mesh in 3D.

@AlexShafir Your demo doesn't work for me, what browser are you using? I am testing in Chrome and Firefox.
Here is the error I see in Chrome:

The other problem is that Firefox doesn't support OffscreenCanvas which the image gets painted to before prediction, so the ImageBitmap can't be used there:

Lastly, I am curious how you determined that ImageBitmap works as an input, since it is not listed as an input in the type definitions? And can you explain why you added the d.C = d.h.GL.currentContext.GLctx line?

@mattrossman I am testing on Chrome 94. Just checked rn and it works. Note that on old PC my demo is stuck.
I do not consider Firefox, so cannot help there.
How I understood that ImageBitmap works as input - see #2506#issuecomment-914522493

I tested in Chrome 94 as well on both MacOS and Window 10, both machines just show an error in the console.

I tested on both Windows and MacOs, it worked there.
Oh, I remembered error you talked about. When Mediapipe does not detect face, it outputs 0 instead of result and halts - I did not handle this case. It is a known bug #2434.
For my pet project Mediapipe still lacks Iris tracking, so I chose to move with @tensorflow/face-landmarks-detection.


access: golang/lint

golang/lint[1] project is not very active and I want to help maintain, revise PRs
[1] https://github.com/golang/lint

I see zero comments on that issue tracker from you and zero commits in that repo from you.
You're welcome to start contributing, but we're not ready to hand over maintainership to somebody that's new to the codebase & community and hasn't demonstrated their abilities & responsibilities.
It's true that it's not very maintained today, but that doesn't necessarily mean it's up for grabs. But if you start working on issues & reviews, you could quite easily become the maintainer.

Let's go to work, thanks for the feedback!


Search by Affordability

This is a New Feature Issue, it's probably too big to be tackled in one go. Please hang (create new issues and link them in the comments here) any smaller related issues on this one so we can keep track of all the work to bring this new feature to life.
Feature description: We need a search system that allows users to filter for "free" services given some end users may have a low income background. This should work alongside the keyword search feature but can be left blank if not needed by user.
The cost of the service is noted in the resource database (and can be edited by users) and will range from $0 to $infinity. Users can type in any number (no text) in this search filter.

blocked by issue #9


#619 Federation separate configuration from persistent

Key management
Token management

This PR is getting too complicated for with so many requirements to fulfill the whole topic of configuration and persistent.

This PR is getting to complicated for with so many requirement to fulfill the whole


Widget resizing

Allow widgets to be resized
Apply these two commits
https://github.com/SlimRoms/packages_apps_SlimLauncher/commit/7460c3b3f17a72f0bbe13e9227519fddc0b2fc66
https://github.com/YAJATapps/packages_apps_SlimLauncher/commit/b7106a71203d9d05a2760a89ce5f3e3bdc1a3b70

Could you open pull request?

Yes. I will open

It is for few widgets not all for now
Try clock

Opened pull request .
It will allow every to be scaled down to 1x1 and also which did not allowed are resized.

It depends on widget...if widget support different size, than you can resize (through allowed size)

After this commit it will not depend on widget.

Thanks for explanation!! Today I will merge it!

Just see this
This was before commit not able to resize

These are after commit which are resized to max and min

Nice work!

Last one was by chance this is it which I wanted to send

So now when we can make widgets 1x1 .
So one feature request- to allow widgets in the dock.

Yes! Thanks sir! Just wait for official update on Google Play!


cleaning up some dependencies, composer was hanging, this should fix

Codecov Report

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

@@            Coverage Diff            @@
##             master      #13   +/-   ##
=========================================
  Coverage     87.86%   87.86%
  Complexity      475      475
=========================================
  Files            13       13
  Lines          1244     1244
=========================================
  Hits           1093     1093
  Misses          151      151

Continue to review full report at Codecov.

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


Remove ProductBug from ODS-909 and ODS-507

2 Test Cases which run as part of our known-issues pipeline are actually passing. This PR is removing the ProductBug tag from:

ODS-909
ODS-507

dry run failure seems related to DS Pipelines test suites. @diegolovison investigating it. I don't think it should block this PR


Policyfile name can only be 30 characters long when using chef push-archive

Description
There is a limitation on the amount of characters that a policyfile can be when using chef push-archive command
ChefDK Version
2.0.28
Platform Version
windows/mac/doesn't matter
Replication Case

Create a policyfile with a name greater than 30 characters long, i.e.:

name 'policyfilename123456789012345678901234567890'

Run chef export -a Policyfile.rb .

Expected results: archive is created
Actual results: Error happens
Stacktrace
$ chef export -a Policyfile.rb .
Error: Failed to export policy (in /Users/michael/code/chef/cookbooks/mycookbook/Policyfile.rb) to /Users/michael/code/chef/cookbooks/mycookbook
Reason: (Archive::Tar::Minitar::FileNameTooLong) Archive::Tar::Minitar::FileNameTooLong
Thoughts
From @danielsdeleo in slack:

maybe we should switch to mixlib-archive, it uses Gem::Package::TarWriter; I don't know what format that uses but I haven't heard of anyone running into this issue with mixlib-archive so maybe it would work
In any case 30 chars pretty small. You might be limited to a varchar(255) in the chef server postgres schema which would be a reasonable limit to enforce on the client side

Additional debug info from slack:

minitar sticks to posix tar format which has a filename length restriction of 100 chars.  the hash (plus - and .json) is 70 chars.  minitar could use the now ubiquitous gnu format but I don't know off hand how much else that affects in generating tar files (ie. how much effort it is)

I have the same issue with the last ChefDK 2.5.3
 chef export -a policies/yum-repository.rb .
Error: Failed to export policy (in /path/env-repository/policies/yum-repository.rb) to /path/env-repository
Reason: (Archive::Tar::Minitar::FileNameTooLong) Archive::Tar::Minitar::FileNameTooLong

Going to close this because I tried to replicate this with the latest version of Chef Workstation (0.15.18) and could not replicate it.
chef export Policyfile.rb ./test_export -a
Exported policy 'policyfile_test2_policyfilename123456789012345678901234567890' to /Users/tball/chef_repo/cookbooks/policyfile_test2/test_export/policyfile_test2_policyfilename123456789012345678901234567890-a2d4e2ada75416012de49789be76d6211a02ba9711d64ad39dfdd5b47d939341.tgz


[Storage] Validate snippets in readme

There is still some outdated code in the readme.
https://azuresdkdocsdev.blob.core.windows.net/$web/javascript/azure-storage-queue/12.0.0-preview.5/index.html

Lucky issue number! 🍀


add fridge dataset to test app for RAI vision dashboard and fix bug with large images in flyout

Description
Add fridge dataset to test app for RAI vision dashboard and fix bug with large images in flyout
Images are going past flyout area prior to change:

After change in flyout, by setting min-height and min-width for images:

Checklist

[ ] I have added screenshots above for all UI changes.
[ ] I have added e2e tests for all UI changes.
[ ] Documentation was updated if it was needed.

Codecov Report

Merging #1730 (2261914) into main (7f785fd) will increase coverage by 3.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1730      +/-   ##
==========================================
+ Coverage   89.00%   92.09%   +3.08%
==========================================
  Files         105       86      -19
  Lines        5577     4263    -1314
==========================================
- Hits         4964     3926    -1038
+ Misses        613      337     -276

Flag
Coverage Δ

unittests
92.09% <ø> (+3.08%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

raiwidgets/raiwidgets/cohort.py

raiwidgets/raiwidgets/model_analysis_dashboard.py

...iwidgets/raiwidgets/model_performance_dashboard.py

raiwidgets/raiwidgets/explanation_constants.py

raiwidgets/raiwidgets/error_analysis_dashboard.py

...idgets/raiwidgets/responsibleai_dashboard_input.py

raiwidgets/raiwidgets/error_handling.py

raiwidgets/raiwidgets/interfaces.py

raiwidgets/raiwidgets/error_analysis_constants.py

raiwidgets/raiwidgets/__version__.py

... and 9 more

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


Create package on bintray with publishAllTemplates: VCS URL mandatory

Hi,
I just wanted to publus a new lazybones template to bintray.
First, I upgraded to the latest plugin version which then complained
* What went wrong:
A problem occurred evaluating root project 'dolphin-platform-lazybones-templates'.
> No such property: vcsUrl for class: uk.co.cacoethes.gradle.lazybones.LazybonesConventions_Decorated

So I removed that property.
But now, the Bintray API is not happy anymore are the VCS URL seems to be a mandatory field:
Checking if package [...] already exists
Creating package [...] via https://api.bintray.com/packages/[...]/[...]
Failed to create package [...] . Response from Bintray:
{"message":"Please enter a valid VCS URL for your OSS package."}

I got around this by creating the package on the Bintray web UI first, but I think the plugin should reflect the VCS URL as being mandatory - or did I miss/oversee something ? :)

Seems like a duplicate of #154. Are you using the latest version of the plugin?

The property's definitely there. I'm hoping it's a version issue, because otherwise I'm stumped!

Hi,
I've had the impression that 1.2.3 is the most recent version of the plugin, but double-checking it revealed that 1.2.4 is the one - and with that, vcsUrl is working.
Hence, also publishing a non-existant package works as expected, sorry for the wrong alarm.
I created a PR to update the readme to the most recent version ;-) https://github.com/pledbrook/lazybones/pull/175
thank you :), I'm closing this as it seems to be solved.


OEO - Developer Meeting (OntoHack #5)

We are planning the next OEO Developer Meeting.
Due to the travel limitations we will do an all online meeting.
We will use two half day slots:
31.03.2020 13:00 - 18:00
01.04.2020 09:00 - 12:30
Participants are grouped in GitHub-Teams:
ontology-experts
@jannahastings
@fabianneuhaus
@tillmo
@MGlauer
@akleinau
modelling-experts
@wingechr
@han-f
@l-emele
@stap-m
@christian-rli
@Ludee
linked-open-data-experts
@Vera-IER
@fradra
<- Please add your GitHub-handle here!

As suggested by @han-f we should decide on a tool. Options:

DFN (maybe overwhelmed these days)
Zoom (never used it before, for some reason i'm sceptical)
Microsoft Teams (not ideal for linux users)
Skype (Can it handle so many people?)
Nextcloud (probably too buggy)
jitsi (maybe we should try setting up our own server?)

I think Zoom is great! But I guess we would need someone to have a commercial subscription to use it for such long periods (the default allows 40 minutes meetings for free).

I can organise a zoom room for up to 100 people (i.e. without the 40 min. restriction). Due to my experience (and I had several teleconference per day in the last days), zoom scales best.

We have a professional Zoom account from RLI which I reserved for the two days!

The links to the expert groups don't work for me. So I leave my GitHub handle here:
@Vera-IER

I just saw that for some Zoom is forbidden. I have booked a teams meeting as an alternative, but this will also not be ideal. Will we be able to manage with jitsi on such short notice? @christian-rli

I just meant to post the same info as you @han-f :)
jitsi would be problematic, I think. It works well in smaller groups, but it does not scale very well :/

@christian-rli  :)
we managed a Teams meeting with over 40 people recently, this worked well, but since it doesn't work with linux, this seems also no alternative.
Maybe the good old DFN will need to do?

As @l-emele has pointed out it does work for linux and the problem only occured on my computer. do you have a teams account so we could test this right now? I have another computer I could try with.

@christian-rli - yes we can try right away

I had a Teams with Arch Linux last Werk and it worked fine in Opera.

@han-f neat! Can you mail me a link / backup phone number?

@christian-rli : I sent you an invitation. There is actually also a phone number attached that can be used alternatively, if sound but not screen remains a problem, then this could solve it .

@han-f I can join, too, if you need one more datapoint.

Invitations sent via email, I am in the meeting.

The links above didnt work for me either. My github handle is: @HeddaElisabethGardian

GIthub handle: @0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q

My github handle is probably: @carstenhoyerklick

Mit handle is @caha42

My github handle is p-kuckertz

my handle is @litotes18

@jj-author I am not an Open Data expert but I am familiar with Linked Data/Semantic Web technologies including ontologies on a technical level in the scope of the Semantic Web. so best fit probably linked-open-data-experts but maybe I can also contribute to ontology-experts ?

The meeting is over so i close this issue.


Introducing Thanos Guru on Gurubase.io

Hello team,
We are the maintainers of Anteon. Recently, we created Gurubase.io with the mission of building a centralized, open-source, tool-focused knowledge base. Each "guru" in Gurubase is equipped with custom knowledge to answer user questions based on data related to the respective tool.
We’re excited to let you know that Thanos Guru has been manually added to Gurubase. Thanos Guru uses the data from this repo and data from the docs to answer questions by leveraging the LLM.
This PR introduces the "Thanos Guru", showcasing that Thanos now has an AI assistant available to help users with their questions. We’d love to hear your feedback on this contribution.
You also have the option to maintain the "Thanos Guru" by following the instructions in the Gurubase Repo and to add an ASK AI widget to the Thanos documentation website as detailed here.
If you’d prefer us to disable Thanos Guru in Gurubase, just let us know that's totally fine.

Thank you for the contribution. As of now we would prefer not to include this in the thanos docs themselves!


Support dart defines in index.html

Is there an existing issue for this?

[X] I have searched the existing issues
[x] I have read the guide to filing a bug

Use case
For now it supports in Android (Gradle) and iOS(Info.plist) platforms to get --dart-defined variables.
But not supported in Flutter Web (index.html)
Proposal
Replaceable ${DART_DEFINED_VAR} in index.html like:
<meta name="google-signin-client_id" content="${GOOGLE_SIGN_IN_WEB_CLIENT_ID}">
...
<title>${APP_NAME}</title>

Interesting. I've wanted to make our whole compile pipeline more flexible. This is an interesting take.

Something like this would make life so easy for sure.

Related to the "Inlining" idea here:

https://github.com/flutter/flutter/issues/118115

This creates a blocker for us as well where the best current approach seems to be either templating and pre-processing the index.html, or using sed, in the CI.
This is already solved for FLUTTER_BASE_HREF, it would be nice if that could be generalized.
    This is a placeholder for base href that will be replaced by the value of the `--base-href` argument provided to `flutter build`.
  -->
  <base href="$FLUTTER_BASE_HREF">

Using sed like below, is very brittle and hacky.
flutter build web
GOOGLE_SIGN_IN_WEB_CLIENT_ID="foo"
sed -i "s|<meta name=\"google-signin-client_id\" content=\"${GOOGLE_SIGN_IN_WEB_CLIENT_ID}\">|<meta name=\"google-signin-client_id\" content=\"$GOOGLE_SIGN_IN_WEB_CLIENT_ID\">|g" build/web/index.html

Related issues also discuss difficulties in deploying flutter web at scale, where really flavours should ideally be supported.

https://github.com/flutter/flutter/issues/78254
https://github.com/flutter/flutter/issues/141371

Is there a reason why flavours or a similar feature won't be supported on web?
https://github.com/flutter/flutter/issues/59388#issuecomment-644202660

Is there a reason why flavours or a similar feature won't be supported on web?

The main reasons are that: other features have been prioritized higher, and nobody from the community has proposed a design doc and/or a patch to contribute to the feature.

@ditman this is not a design document but this was proposed. It can start the discussion for someone to start implementing it.

An approach I am using is to convert most of the static HTML from the HEAD and BODY in to Javascript strings that I inject into the page once Flutter has loaded in the dart-defines variables.
I used the approach described here to have a trigger and pass the variables through.
Because the variables are then available as HTML globals, you automatically get templating.
Here is an example where I am passing the APP_NAME in, but to use. different manifest.json or have a suffix on the various icon files is as simple as putting $MANIFEST_FILE or $ICON_SUFFIX in the template, and ensuring those variables are passed through via --dart-define-from-file.
    document.addEventListener("dart_loaded", function (){
      console.log("dart_loaded event");

      const headTemplate = `
        <meta charset="UTF-8">
        <meta content="IE=Edge" http-equiv="X-UA-Compatible">
        <meta name="description" content="${APP_DESCRIPTION}">

        <link rel="apple-touch-icon" sizes="57x57" href="icons/apple-icon-57x57.png">
        <link rel="apple-touch-icon" sizes="60x60" href="icons/apple-icon-60x60.png">
        <link rel="apple-touch-icon" sizes="72x72" href="icons/apple-icon-72x72.png">
        <link rel="apple-touch-icon" sizes="76x76" href="icons/apple-icon-76x76.png">
        <link rel="apple-touch-icon" sizes="114x114" href="icons/apple-icon-114x114.png">
        <link rel="apple-touch-icon" sizes="120x120" href="icons/apple-icon-120x120.png">
        <link rel="apple-touch-icon" sizes="144x144" href="icons/apple-icon-144x144.png">
        <link rel="apple-touch-icon" sizes="152x152" href="icons/apple-icon-152x152.png">
        <link rel="apple-touch-icon" sizes="180x180" href="icons/apple-icon-180x180.png">
        <link rel="icon" type="image/png" sizes="192x192" href="icons/android-icon-192x192.png">
        <link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png">
        <link rel="icon" type="image/png" sizes="96x96" href="icons/favicon-96x96.png">
        <link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png">
        <link rel="manifest" href="/manifest.json">
        <meta name="msapplication-TileColor" content="#ffffff">
        <meta name="msapplication-TileImage" content="icons/ms-icon-144x144.png">
        <meta name="theme-color" content="#ffffff">

        <title>${APP_NAME}</title>
      `;

      const bodyTemplate = `
        <picture id="splash">
          <source srcset="splash/img/light-1x.png 1x, splash/img/light-2x.png 2x, splash/img/light-3x.png 3x, splash/img/light-4x.png 4x" media="(prefers-color-scheme: light)">
          <source srcset="splash/img/dark-1x.png 1x, splash/img/dark-2x.png 2x, splash/img/dark-3x.png 3x, splash/img/dark-4x.png 4x" media="(prefers-color-scheme: dark)">
          <img class="center" aria-hidden="true" src="splash/img/light-1x.png" alt="">
        </picture>
        `;

      document.head.insertAdjacentHTML('beforeend', headTemplate);
      document.body.insertAdjacentHTML('beforeend', bodyTemplate);
    });
    ```

 Note that you do lose the loading images with this approach because the HTML isn't generated until the Flutter code is fully loaded.

 The Flutter code, by the way, looks like this:

void main() async {
if (kIsWeb) {
js.context["APP_DESCRIPTION"] = const String.fromEnvironment("APP_DESCRIPTION");
js.context["APP_NAME"] = const String.fromEnvironment("APP_NAME");
// etc..
//Custom DOM event to signal to js the execution of the dart code
html.document.dispatchEvent(html.CustomEvent("dart_loaded"));
}

@eyebrowsoffire added a bunch of templating to the index.html code; it doesn't support dart defines, but it's probably a start. Read this to look at the upcoming (already available in beta, I think) bootstrap code:

https://github.com/flutter/website/pull/10256


Keyboard listeners should be attached to window

Currently, getKeyboardResponses dosen't work before you click inside the target DOM element. I can't imagine why you would want this behavior—it was a real headache to debug it! I suggest attaching to window.
https://github.com/jspsych/jsPsych/blob/master/jspsych.js#L1839

This is intentional. There are use cases where jsPsych experiments are embedded inside DOM elements and we don't want mouse clicks or keyboard events that occur on elements outside the jsPsych experiment to be registered as being related to the experiment.
I'm curious about your use case and what we could do to better support it. This generally isn't a problem when the experiment exists in the body element because it is usually the same size as the window.

I’m using a ‘#jspsych-target’ element, which I believe was in the tutorial
when I started using JsPsych a couple years ago. I think using  would
make the most sense for a new user, so I’m probably just experiencing
growing pains :)
A quick note on this in the init() documentation would have saved me some
debugging time!
On February 7, 2018 at 1:16:26 PM, Josh de Leeuw<EMAIL_ADDRESS>wrote:
This is intentional. There are use cases where jsPsych experiments are
embedded inside DOM elements and we don't want mouse clicks or keyboard
events that occur on elements outside the jsPsych experiment to be
registered as being related to the experiment.
I'm curious about your use case and what we could do to better support it.
This generally isn't a problem when the experiment exists in the body
element because it is usually the same size as the window.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jspsych/jsPsych/issues/499#issuecomment-363913311, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHhJlPVgU8SxDCW4nWqaU70fRaY5oDQQks5tShKogaJpZM4R9Yyf
.

Thanks for the suggestion to modify the documentation. I will definitely do that.

docs are now updated


Add RTL version of sample images

Questions
Answers

Description?
Image slider sample has not configured for RTL.

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
-

How to test?
-

When shop language is RTL:
Default:
sample-1.jpg

Expected:
sample-1-rtl.jpg

@NeOMakinG  @Progi1984
Wdyt?

@NeOMakinG @Progi1984
Wdyt?

Seems legit to me, but mostly backend stuff, I'll let some backend dev review it

Hello @marwachelly
I tested with dev version and same problem:

It seems is not related to this PR.
Could you please install dev version and test again:
https://github.com/PrestaShop/ps_imageslider.git
Please Reset module after installation.

@Progi1984  @PierreRambaud
Due to this problem found by @marwachelly

Should be:
 $this->fields_form = [];

Updates:

No problem in debug mode.
User can update just slider text without changing the image.
User can just change an image for a specific language.

Hello @marwachelly

The position of the slider is changed to the bottom of the page with RTL and LTR languages:

After installing or resetting a module, the position of module will be changed.
Go to BO > Design > Positions and try to bring it up in displayHome hook.

The image slider arrow is not working any more

Try Ctrl+F5 or use Incoginto mode. It's related to cache.

when changing the image it is badly displayed.

This module has not any option for scaling image.
Use an image in 1110px X 340px or same ratio.

When editig the image the position of the drop down button is wrong

It's not related to the scope of this PR and should be fixed in another PR.

Hello @mparvazi ,
Could you please rebase again with dev branch?
Many thanks,

Hello @mparvazi ,
Could you please rebase again with dev branch?
Many thanks,

Why. There is no conflict in this PR :thinking:
If you try to rebase to the dev branch, you should avoid since PR are merged and not rebased

Why. There is no conflict in this PR thinking If you try to rebase to the dev branch, you should avoid since PR are merged and not rebased

I executed the folowing command and I noticed that this PR which affect the same file is merged in dev branch

Why. There is no conflict in this PR thinking If you try to rebase to the dev branch, you should avoid since PR are merged and not rebased

I executed the folowing command and I noticed that this PR which affect the same file is merged in dev branch

Use merge instead, as it's recommended by GitHub, and it will produce the same result than github's merge button


Add free-style library to benchmark

Added benchmarks for the Free-Style library.
Note: I didn't update the README yet. Should I?
Running simple test.
aphrodite length 470
jss length 447
jss-without-preset length 443
glamor length 428
cxs length 400
cxs-optimized length 445
free-style length 374
  7 tests completed.

  aphrodite          x  7,642 ops/sec ±4.65% (72 runs sampled)
  jss                x 13,941 ops/sec ±3.72% (76 runs sampled)
  jss-without-preset x 21,122 ops/sec ±3.22% (81 runs sampled)
  glamor             x  7,656 ops/sec ±1.41% (85 runs sampled)
  cxs                x 15,747 ops/sec ±3.43% (79 runs sampled)
  cxs-optimized      x 12,504 ops/sec ±3.38% (79 runs sampled)
  free-style         x 17,517 ops/sec ±2.77% (76 runs sampled)

Fastest is: jss-without-preset

Running styles overload test.
aphrodite length 3594
jss length 3509
jss-without-preset length 3471
glamor length 3298
cxs length 3022
cxs-optimized length 3063
free-style length 2760
  7 tests completed.

  aphrodite          x 1,168 ops/sec ±1.53% (78 runs sampled)
  jss                x 2,137 ops/sec ±1.71% (83 runs sampled)
  jss-without-preset x 2,802 ops/sec ±2.28% (77 runs sampled)
  glamor             x   807 ops/sec ±2.46% (73 runs sampled)
  cxs                x 1,595 ops/sec ±2.85% (76 runs sampled)
  cxs-optimized      x 1,450 ops/sec ±2.88% (75 runs sampled)
  free-style         x 1,973 ops/sec ±1.77% (86 runs sampled)

Fastest is: jss-without-preset

Running classes overload test.
aphrodite length 3044
jss length 3085
jss-without-preset length 3085
glamor length 1932
cxs length 1943
cxs-optimized length 1943
free-style length 1805
  7 tests completed.

  aphrodite          x 1,667 ops/sec ±1.58% (81 runs sampled)
  jss                x 2,815 ops/sec ±2.63% (79 runs sampled)
  jss-without-preset x 3,890 ops/sec ±1.82% (85 runs sampled)
  glamor             x 2,809 ops/sec ±1.85% (81 runs sampled)
  cxs                x 2,345 ops/sec ±2.17% (83 runs sampled)
  cxs-optimized      x 2,024 ops/sec ±1.79% (84 runs sampled)
  free-style         x 2,027 ops/sec ±2.31% (79 runs sampled)

Fastest is: jss-without-preset

Size free-style 8.023KB
Size glamor 32.306KB
Size cxs 9.366KB
Size cxs-optimized 12.268KB
Size jss-without-preset 24.654KB
Size jss 37.185KB
Size aphrodite 19.711KB

Hey @stevenbenisek, I can smack myself in the head for forgetting free-style, this was actually one of the libs I started one of my projects with. I will integrate this first thing tomorrow, you may add the results to the README as well, thanks!

Hey @stevenbenisek, another contributor @rtsao did a Pull Request that changes the flow per test a little bit, you can see it here: https://github.com/hellofresh/css-in-js-perf-tests/pull/7. You should use the new render method and also the way to generate styles changed.

@PepijnSenders Pull Request updated to reflect changes in #7. I'll create a new Pull Request to add the Free-Style results when #11 gets merged

Hey @stevenbenisek, sorry to see that this PR got a bit out-dated, could you please update again? 😄

Closing because it was already done in another PR https://github.com/hellofresh/css-in-js-perf-tests/pull/17.


Correct score calculation when the match ends

Right now, we're using MakeScoreOrder() to sort the winners of a match. This is incorrect, since that uses entertainment score rather than kills.

[x] Refactor ScoreOrder{} to be a KillOrder{} that sorts by kills rather than score.
[x] Add a test in match_test.go where P1 gets 7 shots, P2 gets 7 kills, P3 gets 3 and P4 gets 10. After End(), the Match.ScoreOrder should be [3, 1, 2, 0].
[x] Test a few matches in the frontend and make sure that the sorting logic makes sense.

Fixed via #63 and #50


Parsing lead_image_url when there are multiple og:image's present

Platform: OS X
Mercury Parser Version: 2.2.0
Node Version (if a Node bug): v12.16.2

Expected Behavior
If a site has og:image set twice, it would choose one of them as the lead_image_url. Obviously having duplicate og:image's specified is a mistake but I would still like to handle parsing the image out in this scenario.
Current Behavior
It chooses neither of the images and ends up just choosing another image on the page
Steps to Reproduce
const MercuryParser = require("@postlight/mercury-parser");
const x = await MercuryParser.parse("https://www.realityblurred.com/realitytv/2017/08/ayto-season-six-host-terrence-j/"); // Any page with two `og:image`'s set
console.log(x.lead_image_url);

This prints https://www.realityblurred.com/realitytv/wp-content/themes/realityblurred/images/Andy-Dehnart.jpg, which is the first image in the body of the page. The page itself does have an identical og:image, but it is specified twice in the head:
<meta property="og:image" content="https://www.realityblurred.com/realitytv/images/2017/08/ayto-season-six-cast.jpg">

Detailed Description

I'm trying to get the lead image url out of the above page.
Possible Solution
If there are multiple og:image's present in a page, choose the first one.

Fixed by #696


Add json_object_update_{existing,missing}

The _existing variant would only update keys that already exist and not add new keys at all. The _missing variant would only add new keys and leave the already existing keys alone.

I'm interested in working on this feature, I want to use Jansson for my program and I need this feature for what I am trying to accomplish. if you haven't worked around this feature yet I will be more than happy to start it. please let me know.


Suggestion: Maker API call round-trip timer

This is 99% conceptual and 1% practical, but do you see any value in adding a feature to Hubitat Hub Information driver which periodically checks the time (in ms) to receive a response from Maker API after sending it a local GET?
I'm unsure how much variance there is on these round trips, but I've always wondered, especially because it has become the de facto method for connecting external apps, in lieu of WebSockets.

I could see writing some type of ping utility for it, but probably not in the Information Driver.  Easiest way to implement might be to create a virtual switch and a NodeRed responder.  Measure the time from when the switch is toggled to the time NR-MakerAPI turns it off.  Could then also have it run on a schedule to generate values that could be graphed or....

Just realized I have a stopwatch device already written (stopwatch.groovy).  So I created a Node Red flow to turn off Timer 1 (it has 5) when it receives notice that it's been turned on.  The Duration reported is in milliseconds.
Node Red JSON:
[
{
"id": "d8ab23466385eec4",
"type": "hubitat device",
"z": "195f141e.c79f8c",
"deviceLabel": "!stopWatch",
"name": "",
"server": "2731734d1544bcd1",
"deviceId": "62",
"attribute": "start1",
"sendEvent": true,
"x": 170,
"y": 1400,
"wires": [
[
"0e9e36acf7d67979"
]
]
},
{
"id": "0e9e36acf7d67979",
"type": "hubitat command",
"z": "195f141e.c79f8c",
"deviceLabel": "!stopWatch",
"name": "",
"server": "2731734d1544bcd1",
"deviceId": "62",
"command": "stopTimer",
"commandArgs": "1",
"x": 370,
"y": 1400,
"wires": [
[]
]
},
{
"id": "2731734d1544bcd1",
"type": "hubitat config",
"name": "Hubitat Development",
"usetls": false,
"host": "<IP_ADDRESS>",
"port": "80",
"appId": "5",
"nodeRedServer": "http://<IP_ADDRESS>:6335",
"webhookPath": "/hubitat/webhook_",
"autoRefresh": true,
"useWebsocket": false,
"colorEnabled": false,
"color": "#ace043"
}
]
Could set up a rule to Start Timer 1 on a routine basis and then grab duration1 for graphing or charting.  Just playing I'm seeing a round trip of 60ms - 133ms


Use same config name as for production

related to a4a637885e3a01b8d4c88671f31d41b102c9baf6 the public pages also needs to use the correct config (since not enabled for any users have not failed yet).
I.e. use the non-lowercased string as key. Also updated the app config sample to be consistent with this change.

ping @lbosque @xavijam related to the hotfix a few min ago (use https://github.com/CartoDB/cartodb/pull/2086/files?w=0 to skip whitespace changes)

Frontend tests were OK :+1: (details)

:+1:

Frontend tests were OK :+1: (details)