support bytes as key_type in typed Dict

currently only unicode_type is supported as key_type in the new Dict.
bytes are also immutable and should be supported.
currently trying to do
d = Dict.empty(key_type=numba.typeof(b''),value_type=types.int32)
will result an error
Traceback (most recent call last):
File "", line 1, in
d = Dict.empty(key_type=numba.typeof(b''),value_type=types.int32)
File "C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\typed\typeddict.py", line 86, in empty
return cls(dcttype=DictType(key_type, value_type))
File "C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\typed\typeddict.py", line 97, in init
self._dict_type, self._opaque = self._parse_arg(**kwargs)
File "C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\typed\typeddict.py", line 106, in _parse_arg
opaque = _make_dict(dcttype.key_type, dcttype.value_type)
File "C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\dispatcher.py", line 350, in _compile_for_args
error_rewrite(e, 'typing')
File "C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\dispatcher.py", line 317, in error_rewrite
reraise(type(e), e, None)
File "C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\six.py", line 658, in reraise
raise value.with_traceback(tb)
TypingError: Invalid use of Function(<function new_dict at 0x00000168CF31FD90>) with argument(s) of type(s): (typeref[readonly bytes(uint8, 1d, C)], class(int32))

parameterized
In definition 0:
LoweringError: Failed in nopython mode pipeline (step: nopython mode backend)
No definition for lowering (readonly bytes(uint8, 1d, C), readonly bytes(uint8, 1d, C)) -> bool

File "..........\Anaconda3\envs\py37\lib\site-packages\numba\dictobject.py", line 792:
def imp(key, value):

dp = _dict_new_minsize(keyty, valty)
_dict_set_method_table(dp, keyty, valty)
^
[1] During: lowering "$0.9 = call $0.5(dp, $0.7, $0.8, func=$0.5, args=[Var(dp, C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\dictobject.py (791)), Var($0.7, C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\dictobject.py (792)), Var($0.8, C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\dictobject.py (792))], kws=(), vararg=None)" at C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\dictobject.py (792)
raised from C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\six.py:659
In definition 1:
LoweringError: Failed in nopython mode pipeline (step: nopython mode backend)
No definition for lowering (readonly bytes(uint8, 1d, C), readonly bytes(uint8, 1d, C)) -> bool
File "..........\Anaconda3\envs\py37\lib\site-packages\numba\dictobject.py", line 792:
def imp(key, value):

dp = _dict_new_minsize(keyty, valty)
_dict_set_method_table(dp, keyty, valty)
^
[1] During: lowering "$0.9 = call $0.5(dp, $0.7, $0.8, func=$0.5, args=[Var(dp, C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\dictobject.py (791)), Var($0.7, C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\dictobject.py (792)), Var($0.8, C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\dictobject.py (792))], kws=(), vararg=None)" at C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\dictobject.py (792)
raised from C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\six.py:659
This error is usually caused by passing an argument of a type that is unsupported by the named function.
[1] During: resolving callee type: Function(<function new_dict at 0x00000168CF31FD90>)
[2] During: typing of call at C:\Users\tal\Anaconda3\envs\py37\lib\site-packages\numba\typed\typeddict.py (18)
version: win10, python 3.7, numba 0.43

Thanks for the report. I think the issue is lack of bytes support more generally, https://github.com/numba/numba/issues/3323#issuecomment-422547994, were bytes supported, IIRC the hashing alg is already implemented and all that would be needed is some wiring up, then it would be permissible for bytes to be a key type. At present, valid key types are numerical types, tuples and unicode.

Any news?

I'm converting a value from bytes to string to be able to use it as a key of a typed dictionary and the program has slowed down a lot.

@jeffteixeira the issue is seemingly this: https://github.com/numba/numba/issues/7921, were this fixed then a __hash__ method would need writing for the numba.types.Bytes type, at which point this should all work ok.

Thanks for the clarifications, @stuartarchibald.


Blue pix patch 1

Thank you for your submission! We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. Read and sign the agreement
Learn more about why HashiCorp requires a CLA and what the CLA includes

0 out of 2 committers have signed the CLA.

[ ] Hiroto Sakuraya
[ ] Blue-Pix

Hiroto Sakuraya seems not to be a GitHub user.
You need a GitHub account to be able to sign the CLA. If you already have a GitHub account, please add the email address used for this commit to your account.
Have you signed the CLA already but the status is still pending? Recheck it.


Tracking Issue: Towards a more redis-compatible database

In order to be more compatible with redis, here are commands that exist in Redis (excluding Redis Stack) but are not supported in Kvrocks:

[x] #1944
[x] #1945
[x] #1946
[x] #1947
[x] #1948
[ ] #1949
[x] #1950
[x] #1951
[x] #1952
[x] #1954
[x] #1955
[x] #1958
[x] #1959
[x] #1983
[x] #1984
[x] #1985
[x] #2166
[x] #2168
[x] #2185
[ ] ... (maybe not fully listed)

We very much welcome anyone to claim the tasks and start to contribute to Kvrocks. If you need any help during the contribution process, you can leave a message under the corresponding issue.
Also, the parts of existing commands that are incompatible with redis are worthy of attention and welcome any contribution.

[x] #1212
[x] #2006
[x] #2014
[ ] ... adding more

It succeed #595.

Test suite in other client impl can help.
We writes C++ unit tests and Golang cases with redis-go. IIRC redis-go runs regression tests for Kvrocks also.
I tried Redisson but still have some troubles - https://github.com/apache/kvrocks/discussions/1912
Perhaps also other clients in https://redis.io/resources/clients/

We can add support for BITOPS command BIT/BYTE option

https://github.com/apache/kvrocks/issues/1212

@jihuayu done

One command which would be amazing to have would be: CLIENT TRACKING (https://redis.io/docs/latest/commands/client-tracking/). redis-py just added support for easily setting up a cache which is automatically invalidated by Redis and it would be incredible if KvRocks could do this too.

One command which would be amazing to have would be: CLIENT TRACKING (https://redis.io/docs/latest/commands/client-tracking/). redis-py just added support for easily setting up a cache which is automatically invalidated by Redis and it would be incredible if KvRocks could do this too.

Yeah client-side caching is in our roadmap. cc @git-hulk

Yes, one obstacle we need to overcome is knowing if a key has expired.

Yes, one obstacle we need to overcome is knowing if a key has expired.

For me I think we can move the responsibility of expiration detection from the server to clients. i.e. clients should store the key-value cache as well as the TTL.

Yes, one obstacle we need to overcome is knowing if a key has expired.

For me I think we can move the responsibility of expiration detection from the server to clients. i.e. clients should store the key-value cache as well as the TTL.

For Redis client-side caching, it will send an invalid message notification once it's expired or evicted due to the memory policy. I'm not sure whether most SDKs will add a default TTL for keys or not. If yes, it should be fine. Or it should be a problem since the expiration needs to depend on the compaction timing.

Yes, one obstacle we need to overcome is knowing if a key has expired.

For me I think we can move the responsibility of expiration detection from the server to clients. i.e. clients should store the key-value cache as well as the TTL.

For Redis client-side caching, it will send an invalid message notification once it's expired or evicted due to the memory policy. I'm not sure whether most SDKs will add a default TTL for keys or not. If yes, it should be fine. Or it should be a problem since the expiration needs to depend on the compaction timing.

It's hard for kvrocks to send notifications on expiration, but for any other writing we can notify, of course. We need to state this point to client implementations to let them store the TTL.
It's also recommended in the Redis documentation:

Handling TTLs: make sure you also request the key TTL and set the TTL in the local cache if you want to support caching keys with a TTL.

It's also recommended in the Redis documentation for client implementation hints:

Yes, that makes sense. I will go through the Redis server and its SDK implementation for client-side caching when I get time. And then propose a discussion or design.


Consider removing DefaultRootState type

React-Redux v8 currently has a DefaultRootState type defined:
https://github.com/reduxjs/react-redux/blob/4d384029e3fa0355e762f40409a5dac4358a3de3/src/types.ts#L13-L23
This was copy-pasted directly from the @types/react-redux types in DefinitelyTyped, which have had that for a while.
We Redux maintainers were not involved in that type being added originally, and specifically think it's a bad practice:

Or to say it bluntly: If at that point in time, we as Redux maintainers would have known about what was going on in DefinitelyTyped, we would have prevented DefaultRootState from ever being added. Unfortunately, at that point we were not aware.
It is a global enhancement of the state, no matter if the reducer was actually added to your store.
At one point in time, some library will go ahead and pollute that interface and suddenly every project using that library will have an extra property in their Redux store - without any reducer for it being present.
There is a good reason we don't recommend doing this anywhere in the docs.

Given that, I'd like to propose removing it from the v8 typings before this gets released.
I'm assuming we'd want to replace that with unknown instead.
I did a couple code searches, and I see maybe 1000-1500 usages in the wild:

https://sourcegraph.com/search?q=context:global+lang:typescript+DefaultRootState+count:2000&patternType=literal
https://github.com/search?l=TypeScript&q=DefaultRootState&type=Code
https://cs.github.com/?q=DefaultRootState

So that's not zero, but it isn't a thing that would completely break the ecosystem in the upgrade process.
Lenz also said that this is a pattern that could get replicated in userspace if desired, although I'm not sure what the details are on that.

The benefits of the pattern are not to be overlooked - you don't need to have all reducers meet in one place, which would be especially desirable in a situation where reducers are injected after the fact.
It could, however, easily be recreated in userland:
// store/state.ts
export inferface MyOwnRootState {}

// store/hooks.ts
import { MyOwnRootState } from './state'
import { TypedUseSelectorHook, useSelector  } from 'react-redux'
export const useAppSelector: TypedUseSelectorHook<MyOwnRootState > = useSelector

// feature/something/slice.ts
declare module 'store/state' {
  inferface MyOwnRootState {
    foo: MyFeatureState
  }
}

=> this does not necessarily need to be shipped with the react-redux types and can be imitated in userland. That way, it's also impossible for random depencies to poison that type.

One point where my previous statement would not hold true:
Afaik, there is no way to create a connect type that has a fixed State type at the moment.
But in that light I would suggest we add another type
export type TypedConnect<State, Dispatch> = { /* all the current signatures with fixed state and dispatch types */ }
export const connect: TypedConnect<unknown, Dispatch>

that TypedConnect type will probably end up being more useful than the DefaultRootState in the first place.

Makes total sense, even if for no other reason than consistency with how the other redux codebases do things.

Module Augmentation should be useful in case we want a TS-only solution for typing state. This sounds reasonable because 99% usage of redux would be single store. I kind of liked the solution, but can understand that it may lead to a bad practice.
Just my two cents.

Just did this in #1887 . There was also already a Connect<State = DefaultRootState> type being exported, so that just defaults to unknown now.

In case anyone is looking to replicate augmenting the DefaultRootState type (to avoid having to explicitly declare the state's type in every call to useSelector()) the following module augmentation file should work:
// react-redux.d.ts
import type { EqualityFn } from 'react-redux/es/types';
import type { GlobalState } from '...'; // Your root store type

declare module 'react-redux' {
  export declare const useSelector: <T>(selector: (state: GlobalState) => T, equalityFn?: EqualityFn<T>) => T;
}

(The file should be placed in a directory listed in the project's tsconfig.json's typeRoots array – see the docs)
Now calls such as useSelector(state => ...) will automatically treat the state parameter as having the above GlobalState type.

In case anyone is looking to replicate augmenting the DefaultRootState type (to avoid having to explicitly declare the state's type in every call to useSelector()) the following module augmentation file should work:
// react-redux.d.ts
import type { EqualityFn } from 'react-redux/es/types';
import type { GlobalState } from '...'; // Your root store type

declare module 'react-redux' {
  export declare const useSelector: <T>(selector: (state: GlobalState) => T, equalityFn?: EqualityFn<T>) => T;
}

(The file should be placed in a directory listed in the project's tsconfig.json's typeRoots array – see the docs)
Now calls such as useSelector(state => ...) will automatically treat the state parameter as having the above GlobalState type.

i got TS error when using this

i got TS error when using this

@longb1997 Do you have any further details about the error?

i got TS error when using this

@longb1997 Do you have any further details about the error?

thanks for the reply, this is error:
hover on useSelector: Subsequent variable declarations must have the same type.  Variable 'useSelector' must be of type '<TState = unknown, Selected = unknown>(selector: (state: TState) => Selected, equalityFn?: EqualityFn<Selected> | undefined) => Selected', but here has type '<T>(selector: (state: GlobalState) => T, equalityFn?: EqualityFn<T> | undefined) => T'.
and hover on declare: A 'declare' modifier cannot be used in an already ambient context.

@longb1997 : note that we specifically advise against trying to do this!
Instead, follow our docs guidelines for creating "pre-typed" versions of the hooks:
https://redux.js.org/tutorials/typescript-quick-start#define-typed-hooks

In case someone is looking for a way how to upgrade big projects to react-redux@8 without changing every useSelector/useDispatch import and usage accross all the project to typed version of it (useAppSelector, useAppDispatch), there is my solution (works on typescript project):
In your tsconfig.json, add next block:
//tsconfig.json
"paths": {
  "react-redux-default": [
    "./node_modules/react-redux"
  ],
  "react-redux": [
    "./src/react-redux-typed"
  ]
},

In react-redux-typed.ts:
//react-redux-typed.ts
import { TypedUseSelectorHook, useDispatch as useDefaultDispatch, useSelector as useDefaultSelector } from 'react-redux-default';

import type { AppDispatch } from './YOUR_PATH';
import type { ApplicationState } from './YOUR_PATH';

export * from 'react-redux-default';

export const useDispatch: () => AppDispatch = useDefaultDispatch;
export const useSelector: TypedUseSelectorHook<ApplicationState> = useDefaultSelector;

That's all. After that, you are able to leave all useSelector/useDispatch imports and usage as it is, but now it is typed as should be


Add Notification support with Play/Pause actions

Solves: Issue #36

Now when user play fake siren a notification is displayed in Notification Drawer
It has two actions - Play and Pause
On clicking any action, respective action will be performed.
This helps user not to return back to the same activity to play or pause siren.
Also, On clicking notification, user will be redirected to the siren activity page.

Screenshot:

Please review this PR. @priyalbhatewara123
To make reviewing easier, I am attaching build apk. Have a look!
app-debug.apk.zip


server: document blocking behavior of EventLoop::run()

closes #122

Coverage decreased (-0.02%) to 14.449% when pulling 7d09ce801e23d0908ba27ad77e108bf387770268 on vberger:master into ede6be02374551f55bac5ce0623a16fe4b51d5e9 on Smithay:master.


Limits on training checkpoints

Set a maximum

https://www.tensorflow.org/guide/checkpoint#create_the_checkpoint_objects


fasta headers in vsearch clustered assembly breaking comparative metrics part

Transrate beta1, tripping up during analysis of comparative metrics, on vsearch headers.
transrate -a 20M.ec.P2.score.vsearch.Trinity.fasta -r ../Mus_musculus.GRCm38.pep.all.fa \
-l /mouse/feeding/SRR797058.P2_1P.fq \
-i /mouse/feeding/SRR797058.P2_2P.fq \
-o 20M.ec.P2.score.vsearch -t 24

Contig and read-based metrics run fine, but at comparative metrics section broken:
[ INFO] 2015-01-07 22:45:17 : Calculating comparative metrics...
/home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/lib/transrate/comparative_metrics.rb:63:in `block (2 levels) in coverage': centroid=c15935_g1_i1;seqs=2 not in assembly (RuntimeError)
        from /home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/lib/transrate/comparative_metrics.rb:56:in `each'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/lib/transrate/comparative_metrics.rb:56:in `each_with_index'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/lib/transrate/comparative_metrics.rb:56:in `block in coverage'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/lib/transrate/comparative_metrics.rb:55:in `each'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/lib/transrate/comparative_metrics.rb:55:in `coverage'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/lib/transrate/comparative_metrics.rb:24:in `run'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/lib/transrate/transrater.rb:91:in `comparative_metrics'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/bin/transrate:203:in `block in <top (required)>'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/bin/transrate:150:in `each'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/gems/transrate-1.0.0.beta1/bin/transrate:150:in `<top (required)>'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/bin/transrate:23:in `load'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/bin/transrate:23:in `<main>'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
        from /home/macmanes/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'

It's complaining about the contig centroid=c15935_g1_i1;seqs=2 not being in assembly, it's there, but the header in the assemble is: (note trailing semicolon)
grep 'centroid=c15935_g1_i1;seqs=2' 20M.ec.P2.score.vsearch.Trinity.fasta
>centroid=c15935_g1_i1;seqs=2;

Not sure whether this problem could be addressed in vsearch by @torognes (remove trailing ;) or by you guys, or if this is a blast fasta parsing issue.

I could fix this in vsearch if it does not conflict with usearch compatibility.
What was the vsearch command line used to generate 20M.ec.P2.score.vsearch.Trinity.fasta?
Have you previously generated this file using usearch and obtained results without the semicolon?
Another vsearch user recently asked me to put the semicolon in at the end of the header line, but it might be in a different context. See vsearch issue 36.

vsearch command:
vsearch --fasta_width 0 --threads 20 --id .99 \
--cluster_fast 20M.ec.P2.score.Trinity.fa --consout vsearch.fa

To vsearch.fa I added the long contigs (>15000bp) to the final assembly file as per https://github.com/torognes/vsearch/issues/52 . Let's see what @Blahah has to say.  If this is a transrate fasta parsing that can be easily remedied, then maybe that is the most parsimonious fix?
FWIW, blast seems to ignore that trailing semicolon. Could be that it causes problems in various applications.
blastn tabular output
centroid=c16726_g1_i10;seqs=1   centroid=c16726_g1_i8;seqs=1    100.00  2029    0       0       7838    9866    7889    9917    0.0      3747

It seems like usearch includes that trailing semicolon in a similar command so I do not want to remove it in vsearch.

the problem appears to be that blast is stripping the trailing semicolon in its output, whereas the BioRuby FASTA defline parser doesn't strip it. So when we're matchin up BLAST hits with contigs, they don't match. I don't think this is VSEARCH's fault (or transrate's) - it's BLAST that's doing the weird thing.
However, since BLAST is a lumbering leviathan that we are unlikely to be able to change, we could add a workaround where we strip any trailing punctuation from FASTA deflines. The only concern with that would be if a FASTA were to have entries that had identical deflines except for the trailing punctuation, but that's pretty far-fetched.

Something like sed -i s'/;$//' filename should work, assuming we're only targeting semicolons!

This will be in the next beta @macmanes - should be out in the next day or so


Fill out all map segments when first hero is selected for a player

If @RobThePM starts on Sombra, he's probably gonna stay on Sombra. 😀  Facilitate this for the team organizer by selecting the same hero for each map segment when the first selection is made for a player.

nice quality of life idea! (did i use the term "quality of life" correctly in relation to this feature?)

Question...
Zion is making his team comp for Hanamura. He picks Genji as his hero on Defense Point 1 (assuming that defense point 1 is the first column on the left). It auto fills Genji for the rest of the hero slots in that row. Then he picks Sombra for Defense Point 2. Then he picks Mercy for Defense Point 1. What will the hero selections look like for that row?
I'm wondering if it will change all selections for that row to Mercy.

Nope, it only auto populates the unselected slots.

I'm actually using this right now and it's an awesome feature. Thanks for implementing. Saves me so much time.


Better handling of GitHub URLs

Files hosted on GitHub are served with CORS headers from raw.githubusercontent.com - but the intermediary redirects do not have those headers, which means Datasette Lite will not successfully load a file if you give it a URL like this one:
https://github.com/lerocha/chinook-database/blob/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite?raw=true
After a two redirect long chain, the result is this URL which IS served with CORS headers:
https://raw.githubusercontent.com/lerocha/chinook-database/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite
Ideally Datasette Lite should even work with URLs to the HTML page about a file - this page here: https://github.com/lerocha/chinook-database/blob/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite

This should work for all three types of URL handled by Datasette Lite.
I'm going to pattern match on this (regex pseudocode):
https://github.com/.*/.*/blob/.*(?raw=true)?

And redirect to this:
https://raw.githubusercontent.com/...

Regex:
https://github.com/(.*)/(.*)/blob/(.*)(\?raw=true)?

This works!

https://lite.datasette.io/?url=https://github.com/lerocha/chinook-database/blob/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite
https://lite.datasette.io/?csv=https://github.com/simonw/covid-19-datasette/blob/6294ade30843bfd76f2d82641a8df76d8885effa/us_census_state_populations_2019.csv&csv=https://github.com/simonw/sba-loans-covid-19-datasette/blob/0c065f4d269dc2c0280df58bae3a331d5ed95bcf/naics_2017.csv


task fixes

[ ] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:

 Tasks können in der UI verwaltet werden

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

23 of 23 (100.0%)  changed or added relevant lines in 2 files are covered.
133 unchanged lines in 7 files lost coverage.
Overall coverage increased (+0.06%) to 89.366%

Files with Coverage Reduction
New Missed Lines
%

operators/src/source/ogr_source/mod.rs
1
95.4%

services/src/pro/datasets/postgres.rs
2
57.4%

services/src/pro/handlers/drone_mapping.rs
3
95.3%

services/src/pro/users/postgres_userdb.rs
5
95.28%

services/src/pro/layers/postgres_layer_db.rs
6
75.85%

services/src/pro/contexts/postgres.rs
7
96.41%

operators/src/source/gdal_source/mod.rs
109
94.04%

Totals

Change from base Build<PHONE_NUMBER>:
0.06%

Covered Lines:
96145

Relevant Lines:
107586

💛  - Coveralls

bors merge


[Protein Solvation] Update README

In this PR, I've added the mention to the new ignore_warnings flag and the notebook only support for the visualization. I don't like the fact that we need to put the ignore_warnings flag in the example, so I will update it to an example from alpha fold to avoid this in another PR (I need to generate new visualizations to do it).

If you do not like it, why should we just not set the default to True and warn the user that is occuring. When he does simulate, he receives a message explaining that and telling him how to turn it off.

If you do not like it, why should we just not set the default to True and warn the user that is occuring. When he does simulate, he receives a message explaining that and telling him how to turn it off.

Because the default to True will hide the problem and I want the user to inspect the simulation warnings before running a big simulation. I can set the default to True but then the simulation will run and the user will have to kill it... I don't know, ignore warnings by default seems  a bad practice. I prefer to have the extra work and do it with a clean alpha fold prediction.

If you do not like it, why should we just not set the default to True and warn the user that is occuring. When he does simulate, he receives a message explaining that and telling him how to turn it off.

Because the default to True will hide the problem and I want the user to inspect the simulation warnings before running a big simulation. I can set the default to True but then the simulation will run and the user will have to kill it... I don't know, ignore warnings by default seems a bad practice. I prefer to have the extra work and do it with a clean alpha fold prediction.

Alright!


WIP Iter8 refactoring for a better integration

Work In Progress to adapt Iter8 extension code in Kiali style.
Not finished, just a draft, but just to give visibility.
It will be updated.

@jadeyliu939 I'm having some problems resolving conflicts the dependencies of the iter8-controller types.
The native types pull knative types and its dependencies have some conflicts with Kiali, so I'm working to resolve this in a non-intrusive way.
Not a blocker but I'm still wokring on it.

@jadeyliu939 I've updated the PR with my comments.
I haven't tested in runtime, but I guess from here perhaps it's eaiser to see my comments on the original PR.
Let me know what do you think and if you like, feel free to merge to your branch, and let's consolidate this changes in your PR against PR repo.
Note, probably is not complete as I may miss some aspect.
I tried to solve the problem of pulling iter8-tools/iter-controller dependencies but it's risky and it brings too many conflicts and potential non-planned updates of transitive dependencies used by Kiali.
So, I think that mapping the CRD native scheme in Kiali is best solution so far (I'm still looking if I can automate this).
I'm going to leave this for your review and now go to the UI one.

Thank for the refactoring of the code. It helps me to understand the kiali code common practice and naming practice. Should I remove the two pull request?


torchvision docs link expired on Get Started page.

📚 Documentation
As the new version 0.8.0 updates the doc link from https://pytorch.org/docs/stable/torchvision to https://pytorch.org/vision/stable/ .
But the link at the get started page is not modified. Please fix it.
(Actually the torchvision links in most tabs are wrong and still the old one. Only the links in Tutorial and Docs tabs are correct.)
(Especially, on a 404 page (say https://pytorch.org/docs/123456), the torchvision link is not correct.)

Actually it might be better to transfer issue to pytorch/pytorch.github.io

Thanks for opening this issue! We need to get this fixed.
cc @brianjo can you have a look?

On it. This should fix the issue. https://github.com/pytorch/pytorch.github.io/pull/609
Thanks Ren!  @ain-soph

Thanks @brianjo and @ain-soph !


Add my organizations view

Fix #5
This PR adds a tab "My organizations" listing all the organizations it belongs to.

And now the sidebar ✨


problems when  dooms themes work with org-mode and neotree

org-mode "" heading with linum-relative has a problem that a little part of "0" is covered by ""
with doom-neotree, last char of the root dir's name doesnt display.
here is the pic

anyway,i love the doom-themes, thanks for your effort.

It's very strange,
if i use "neotree-dir" command to open folder,
the second problem doesnt appear

I've added a fix for the second issue. Let me know if it still occurs.
The linum-relative issue is an odd one. I've just pushed a few updates to line number faces, could you update and see if it fixed your issue?

Yeah.Second issue is fixed. Good work!
The first one issue still exists.

The ellipsis is not rendering for me. Sometimes it does, however, and it appears like the unfilled rectangle at the top right of your screenshot.
Do you know what this is or how I can have a normal ellipsis?

I also have the ellipsis problem, I am using emacs-mac.

@ryankask In case you are looking for a temporary solution (it drives me nuts looking like that), set the org-ellipsis to nil.

Thanks, @xiaoxinghu. I made this change last week because aside from the strange appearance, it felt really slow when editing the file. emacs actually crashed once when opening an org file.
I'm using macOS but I'm not sure what's going on.

I am also encountering the ellipsis problem, running Emacs 25.2 on Manjaro Linux
The suggested fix (setting the variable to nil) works, but it would be amazing if we could use a custom ellipsis with the theme

doom-themes only changed the default and shouldn't stop you from changing it with (setq org-ellipsis " ... "). Perhaps some of you are changing it before the theme is loaded, which gets overwritten when the theme is later loaded?
In any case, I've removed this from doom-themes. Let me know if that resolves your issues.

@ichirika Sorry for the long wait. You can fix problem #1 by either: a) disabling the differently sized org headers, like so:
(set-face-attribute 'org-level-1 nil :height 1.0)

Or by explicitly setting an absolute :height for linum and linum-relative's faces:
(let ((height (face-attribute 'default :height)))
  (set-face-attribute 'linum nil :height height)
  (set-face-attribute 'linum-relative-current-face nil :height height))

Unfortunately, this is a natural limitation of overlays, which linum (and nlinum) use to display line numbers. Issues like these should disappear once we get to Emacs 26, however, which has line numbers built in.
Problem #2 should have been resolved since https://github.com/hlissner/emacs-doom-themes/commit/fb92c7c31b490c5fce997024b9c9b8c05f607301, so I'll close this issue. Feel free to reopen if my suggestions above didn't help.


1D/2D/3D visualisation of results.

Interim solution here : https://github.com/data-cube/agdc-v2/tree/develop/datacube/analytics/utils
Mainly for me to test visualize data.
This is a temporary solution until a proper visualization module is created.


Document all the ways to pass parameters to PageObject and use cases

Parameters are documented here: https://github.com/bendemboski/fractal-page-object/blob/main/packages/fractal-page-object/API.md#parameters
But could use some more examples on how to use them: https://github.com/bendemboski/fractal-page-object/blob/main/packages/fractal-page-object/src/page-object.ts#L185
Examples along the lines of:
const page = new PageObject('', this.parentElement);
const page = new PageObject('new-selector', this.parentElement);
const page = new PageObject('', null, select-index-from-list-of-elements)

What this is useful for:

selecting a particular button from a row of table rows - by specifying the parent element
selecting a particular button from a row of list elements - by specifying the parent
selecting a particular element from a list of elements, and testing that element

@nicolechung check out #77 and let me know what you think. It improves the API documentation, but doesn't really document use cases because I don't think the API documentation is the right place for that. I've been thinking some kind of "cookbook" would be a good idea (and would welcome PRs!). So if you want to leave this issue open pending something like that, I'm cool with that, or we could consider this done once #77 is merged -- what do you think?

I think a cookbook would be GREAT because I do get confused a bit about how to design my PageObjects.
Thank you for addressing this so quickly. I think this issue can be closed after #77 is merged.


Failed to Install the Fonts

Hey guys! I've been wanting to try this sketch for a while now, but just now I was able to.
Anyway, I installed ionicons with the bower install ionicons command and the SF Fonts through the .pkg downloaded, but I still got this error

Any ideas of what I might have done wrong?

Hi Tiago,
This is unusual.
Can you try closing the template file and opening it again?

I tried, still got the problem. Maybe I installed the dependencies wrong?

I had to download Roboto as well.
Sketch still says I am missing SFUIText-Semibold, SFUIText-Regular, and .SFNSText-Regular.
I am installing XCode to see if that fixes those fonts.

Installing XCode did not fix those missing fonts. It looks like the fonts are from iOS 9 and later. Not sure where to download them for macOS.

I found out those fonts were removed from Sierra for some reason. They are absent from the list of fonts included in Sierra.
I had to download the SFUI fonts from here
I am working on finding SFNSText. I think I might be able to copy them from El Capitan installer.

Any chance of updating the sketch document to use fonts on Sierra or alternative fonts?

Any news guys?

Hi Chris,
This is unusual.
Actually we are using roboto and ionic text fonts in this Template.
and we are working to solve SF text warning.
if you are not able to install SF text then you can ignore SF text related warning because we are not using SF font in our Template.
you just click "open anyway" button and start using  NativeBase-Sketch-Template.
Thank you.

Hi Tiago,
we are using roboto and ionic text fonts in this Template.
So make sure your system have these fonts.
Roboto-https://fonts.google.com/specimen/Roboto
Ionic-http://ionicons.com/
and you can ignore  SF text warning or install.
SF-https://developer.apple.com/fonts/. @tloriato
Thank you.

@tloriato Did you get it running?

Sadly, no.
Em 24 de jul de 2017 4:32 PM, "Supriya Kalghatgi"<EMAIL_ADDRESS>escreveu:
@tloriato https://github.com/tloriato Did you get it running?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GeekyAnts/NativeBase-Sketch-Template/issues/9#issuecomment-317331353,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALC0lLrUe59vNYPGWNbhuFyI3PMl2sQlks5sRDp4gaJpZM4N6NUt
.

@tloriato Are you still getting the same warning? If only SF Fonts are missing then you can open anyway because we haven't used them in the template.

Can confirm, once you install Roboto and Ionicons you can pretty much ignore the rest because they aren't used.

I have installed all the above fonts (confirmed via Font Book). However, I get this weird issue:

I am on MacOS Sierra

Found the culprit:

Ps: the same is applicable to iOS layer


Not support MS Edge browser

I try this in Edge it just shows a black block but not the svg image. I don't why this doesn't support Edge.

If I remove ng-reflect-svg-style="[object Object]" from the built html ,  the svg shows.

I'm viewing the demo in Microsoft Edge 41.16299.1004.0 and it shows the svgs correctly. Can you please provide a sample SVG, relevant styles, and an example how you're using it in the template?

I just use this line:
'<svg-icon src="../assets/ttt.svg" [svgStyle]="{ 'width.px':90 }">' in the tmeplate.
The svg file text is :
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 104 104"><defs><style>.a{fill:#316cde;}.b{fill:#fff;}</style></defs><title>logo_vantage_L_about</title><rect class="a" width="104" height="104"/><polygon class="b" points="70.06 65.9 45.08 65.9 45.08 23.99 33.94 23.99 33.94 75.99 70.06 75.99 70.06 65.9"/></svg>
And I have imported both  AngularSvgIconModule and HttpClientModule in the app.module.ts
Here is the simple I test:
https://drive.google.com/file/d/1SFy8HTTQEc2JnPi9qilXV4RO45KanXOd/view?usp=sharing

It looks like Edge is having an issue with mixing style and classes inside an svg using the svg-icon component. For example, it works if I change the svg to be:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 104 104">
<rect style="fill:#316cde;" width="104" height="104"/>
<polygon style="fill:#fff;" points="70.06 65.9 45.08 65.9 45.08 23.99 33.94 23.99 33.94 75.99 70.06 75.99 70.06 65.9"/>
</svg>

and keep the template as:
<svg-icon src="../assets/ttt.svg" [svgStyle]="{ 'width.px':90 }"></svg-icon>

What appears to be happening is the svgStyle is overriding the internal classes and thus Edge displays it without the colors. If you comment out the rect in the svg, it will just display the polygon in black & white.
Even enclosing the original svg in a div seems to cause the problem in Edge:
<div style="width:90px">
    <svg-icon src="../assets/ttt.svg"></svg-icon>
</div>

Not sure what the best approach to take to resolve this in Edge.

I got it，thanks anyway.

Still happening. Anything from last year?

@radulescuandrew:
The <svg-icon> appears to working when I tested it with Microsoft Edge 83.0.478.45 (Official build) (64-bit).
Here's a stackblitz.


repository does not exist

I'm sure that repository exist
and there are no any messages to "debug"
[ ~ ]$ gitfs mount https://github.com/changchichung/changchichung.github.io ~/gitfs -d
Error: repository does not exist
Usage:
  gitfs mount <repository> <mountpoint> [flags]

Flags:
  -d, --debug   enable debug output
  -h, --help    help for mount

repository does not exist

Fixed in 1fb3a9c


Lint: Fix issues

index.js: line 195, col 19, Use '===' to compare with '0'.
index.js: line 48, col 10, 'c2f' is defined but never used.
index.js: line 168, col 10, 'getTeslaModel' is defined but never used.

Fixed in 0.0.13


Introduce wlr_client_buffer

Split out the client/resource handling out of wlr_buffer by introducing
wlr_client_buffer. Make wlr_buffer an interface so that compositors can
create their own wlr_buffers (e.g. backed by GBM, like glider 1).

This is a breaking change. Compositors that don't directly use wlr_buffer shouldn't need an update. For compositors which use it directly:

wlr_buffer has been renamed to wlr_client_buffer
wlr_buffer_{ref,unref,get_dmabuf} still take a wlr_buffer, compositors need to use &wlr_client_buffer->base
wlr_buffer_create and wlr_buffer_apply_damage have been renamed to wlr_client_buffer_create and wlr_client_buffer_apply_damage
wlr_buffer_get_resource_size has been renamed to wlr_resource_get_buffer_size

Sway PR: https://github.com/swaywm/sway/pull/5049

Does this make https://github.com/swaywm/wlroots/pull/1910 obsolete?

No. #1910 allows compositors to register additional client buffer types, this PR is about compositor buffer types (such as buffers directly allocated via GBM). So these two PRs are orthogonal.
With this PR, #1910 should probably define wlr_client_buffer_impl instead of wlr_buffer_impl.

Thanks! Nice work.


Introduce chatModels

I already started with openai but have the need to discuss how we want to map langchain to langchaingo in a few instances. I'll make a PR soon.

I would like to highlight my biggest problem. We have the ChatMessage as follows:
type ChatMessage interface {
	GetText() string
	GetType() ChatMessageType // <- role
}

The openAI API needs separated role and message fields though: https://platform.openai.com/docs/api-reference/chat/create. They are required.
The LLM contract allows passing strings only though.
// LLM is a langchaingo Large Language Model.
type LLM interface {
	Call(prompt string, stopWords []string) (string, error)
	Generate(prompts []string, stopWords []string) ([]*Generation, error)
}

The reference implementation seems to handle it by not using string-only messages:
chat([HumanMessage(content="Translate this sentence from English to French. I love programming.")])

Maybe we could generalize the LLM input to be a BaseMessage as well, and then strongly type it for all implementations? (Normal LLMs just get a text as input, chat role and text etc.)
What are everyone's thoughts? (@tmc?)

Hmm. I think we need to think through if “type” is sufficiently distinct from “role”. We have the role field on the GenericChatMessage struct.

What's the type based upon?

What's the type based upon?

That's just a copy of the concept from https://github.com/hwchase17/langchain/blob/master/langchain/schema.py#L88
See "role" here: https://github.com/hwchase17/langchain/blob/master/langchain/schema.py#L106 (and used here: https://github.com/hwchase17/langchain/blob/master/langchain/schema.py#L33)

Ahhh ok. So we'd need to have a look. It's not very self-explanatory haha.
No worries. Which platform @tmc? Discord, Gitter, Matrix?

Ahhh ok. So we'd need to have a look. It's not very self-explanatory haha.
No worries. Which platform @tmc? Discord, Gitter, Matrix?

Sorry I should have indicated, we're in the langchain discord. (we should put this in the README..).


normal tweets without images or videos get Failed to scan your link! error

i made a discord bot for twitter and when people tweet it shows Failed to scan your link!
like this:
https://fxtwitter.com/twice_pix/status/1440065806327418904
also the images shows on thumbnail not on image part.
like : https://fxtwitter.com/twice_pix/status/1440023930631344135
they are too small. thank you for your amazing work but please fix it.
here is proof:

TwitFix is not currently set up to handle non-video links, as it's not really intended to fix embeds for non video tweets. I have an idea for how to work around, ( Using the Twitter API to detect non video links, and then redirecting the original link back to the Discord useragent ) but I have not had the time or need to implement this. If you need a bot that can automatically detect twitter video links and post them, then you should consider hosting a copy of my other project, TwitFix-Bot


Weblish

This PR will get weblish working. Currently satisfies the minimum requirements of weblish and working.
Closes #103

Coverage decreased (-2.09%) to 85.554% when pulling 73496279ad9622e3cf5644d449e552efa6021cf2 on abemassry:weblish into fb5d5cc380a5c3aebbe228aec7abb6233b9054ac on linode:master.

But rancher is not going to cut it methinks. Will need to fork.

Should also include a change in the README and perhaps a notice to devs in #linode-next that you now need a new secrets.js option.

Coverage decreased (-2.4%) to 85.196% when pulling fdac741b504d190c4fe45e93f2f3724e55e07318 on abemassry:weblish into fb5d5cc380a5c3aebbe228aec7abb6233b9054ac on linode:master.


Cannot select Channel

Describe the bug
No response after oms —channel dev
To Reproduce
oms —channel dev
System Information

OS: Arch Linux
Shell: bash
OhMySh version: 0.0.7-build_46

This bug has fixed in dev channel.
Please select channel manually.

In https://github.com/ohmysh/ohmysh/commit/fd2e1e1f064fa9e5b9f41c22ba99c50198fc25f8 , it appears again.


Multi-monitor support

Unless I'm missing something I do not believe the package supports multi-monitors. This could be handled outside the package but it seems to make sense to have it integrated.
    def _screenshot_nearby(self, screen_coordinates):
        # TODO Consider cropping within grab() for performance. Requires knowledge
        # of screen bounds.
        screenshot = ImageGrab.grab()
        bounding_box = (max(0, screen_coordinates[0] - self.radius),
                        max(0, screen_coordinates[1] - self.radius),
                        min(screenshot.width, screen_coordinates[0] + self.radius),
                        min(screenshot.height, screen_coordinates[1] + self.radius))
        screenshot = screenshot.crop(bounding_box)
        return screenshot, bounding_box

Looks like with the Pillow library, there isn't any platform-independent way to do this, but I could pass in all_screens=True so that on Windows all monitors are accessible from within the coordinate system:
https://pillow.readthedocs.io/en/stable/reference/ImageGrab.html
I don't have multiple monitors so I'm not able to test this myself; can you please see if that works for you?
I will note that it's another matter entirely to support multiple monitors in the gaze-ocr package, because you would need eye tracking support across all screens, which Tobii does not provide with the APIs I am using.

FYI: Doing a little research based on https://stackoverflow.com/questions/44140586/imagegrab-grab-method-is-too-slow/51130619
# !pip install image
# !pip install opencv-python
# !pip install pyscreenshot

import numpy as np
from time import time

resolutions = [
    (0, 0, 100,100),(0, 0, 200,200),
    (0, 0, 300,300),(0, 0, 400,400),
    (0, 0, 500,500),(0, 0, 600,600),
    (0, 0, 700,700),(0, 0, 800,800),
    (0, 0, 900,900),(0, 0, 1000,1000),
    (0, 0, 1000,1000),(0, 0, 1100,1100),
    (0, 0, 1200,1200),(0, 0, 1300,1300),
    (0, 0, 1400,1400),(0, 0, 1500,1500),
    (0, 0, 1600,1600),(0, 0, 1700,1700),
    (0, 0, 1800,1800),(0, 0, 1900,1900),
    (0, 0, 2000,2000),(0, 0, 2100,2100),
    (0, 0, 2200,2200),(0, 0, 2300,2300),
    (0, 0, 2400,2400),(0, 0, 2500,2500),
    (0, 0, 2600,2600),(0, 0, 2700,2700),
    (0, 0, 2800,2800),(0, 0, 2900,2900)
]

import numpy as np
import pyscreenshot as ImageGrab
import cv2

def show(nparray):
    import cv2
    cv2.imshow('window',cv2.cvtColor(nparray, cv2.COLOR_BGR2RGB))
    # key controls in a displayed window
    # if cv2.waitKey(25) & 0xFF == ord('q'):
        # cv2.destroyAllWindows()

def mss_test(shape) :
    average = time()
    import mss
    sct = mss.mss()
    mon = {"top": shape[0], "left": shape[1], "width": shape[2]-shape[1], "height": shape[3]-shape[0]}
    for _ in range(5):
        printscreen =  np.asarray(sct.grab(mon))
    average_ms = int(1000*(time()-average)/5.)
    return average_ms, printscreen.shape

def pil_test(shape) :
    average = time()
    from PIL import ImageGrab
    for _ in range(5):
        printscreen =  np.array(ImageGrab.grab(bbox=shape))
    average_ms = int(1000*(time()-average)/5.)
    return average_ms, printscreen.shape

def pyscreenshot_test(shape):
    average = time()
    import pyscreenshot as ImageGrab
    for _ in range(5):
        printscreen = np.asarray( ImageGrab.grab(bbox=shape) )
    average_ms = int(1000*(time()-average)/5.)
    return average_ms, printscreen.shape

named_function_pair = zip("mss_test,pil_test,pyscreenshot_test".split(","),
    [mss_test,pil_test,pyscreenshot_test])

for name,function in named_function_pair:
    results = [ function(res) for res in resolutions ]
    print("Speed results for using",name)
    for res,result in zip(resolutions,results) :
        speed,shape = result
        print(res,"took",speed,"ms, produced shaped",shape)

Speed results for using mss_test
(0, 0, 100, 100) took 9 ms, produced shaped (100, 100, 4)
(0, 0, 200, 200) took 6 ms, produced shaped (200, 200, 4)
(0, 0, 300, 300) took 7 ms, produced shaped (300, 300, 4)
(0, 0, 400, 400) took 6 ms, produced shaped (400, 400, 4)
(0, 0, 500, 500) took 6 ms, produced shaped (500, 500, 4)
(0, 0, 600, 600) took 7 ms, produced shaped (600, 600, 4)
(0, 0, 700, 700) took 7 ms, produced shaped (700, 700, 4)
(0, 0, 800, 800) took 7 ms, produced shaped (800, 800, 4)
(0, 0, 900, 900) took 14 ms, produced shaped (900, 900, 4)
(0, 0, 1000, 1000) took 14 ms, produced shaped (1000, 1000, 4)
(0, 0, 1000, 1000) took 13 ms, produced shaped (1000, 1000, 4)
(0, 0, 1100, 1100) took 14 ms, produced shaped (1100, 1100, 4)
(0, 0, 1200, 1200) took 14 ms, produced shaped (1200, 1200, 4)
(0, 0, 1300, 1300) took 18 ms, produced shaped (1300, 1300, 4)
(0, 0, 1400, 1400) took 21 ms, produced shaped (1400, 1400, 4)
(0, 0, 1500, 1500) took 23 ms, produced shaped (1500, 1500, 4)
(0, 0, 1600, 1600) took 28 ms, produced shaped (1600, 1600, 4)
(0, 0, 1700, 1700) took 29 ms, produced shaped (1700, 1700, 4)
(0, 0, 1800, 1800) took 29 ms, produced shaped (1800, 1800, 4)
(0, 0, 1900, 1900) took 32 ms, produced shaped (1900, 1900, 4)
(0, 0, 2000, 2000) took 36 ms, produced shaped (2000, 2000, 4)
(0, 0, 2100, 2100) took 36 ms, produced shaped (2100, 2100, 4)
(0, 0, 2200, 2200) took 37 ms, produced shaped (2200, 2200, 4)
(0, 0, 2300, 2300) took 41 ms, produced shaped (2300, 2300, 4)
(0, 0, 2400, 2400) took 43 ms, produced shaped (2400, 2400, 4)
(0, 0, 2500, 2500) took 44 ms, produced shaped (2500, 2500, 4)
(0, 0, 2600, 2600) took 44 ms, produced shaped (2600, 2600, 4)
(0, 0, 2700, 2700) took 45 ms, produced shaped (2700, 2700, 4)
(0, 0, 2800, 2800) took 45 ms, produced shaped (2800, 2800, 4)
(0, 0, 2900, 2900) took 48 ms, produced shaped (2900, 2900, 4)
Speed results for using pil_test
(0, 0, 100, 100) took 41 ms, produced shaped (100, 100, 3)
(0, 0, 200, 200) took 41 ms, produced shaped (200, 200, 3)
(0, 0, 300, 300) took 41 ms, produced shaped (300, 300, 3)
(0, 0, 400, 400) took 41 ms, produced shaped (400, 400, 3)
(0, 0, 500, 500) took 46 ms, produced shaped (500, 500, 3)
(0, 0, 600, 600) took 48 ms, produced shaped (600, 600, 3)
(0, 0, 700, 700) took 48 ms, produced shaped (700, 700, 3)
(0, 0, 800, 800) took 43 ms, produced shaped (800, 800, 3)
(0, 0, 900, 900) took 40 ms, produced shaped (900, 900, 3)
(0, 0, 1000, 1000) took 42 ms, produced shaped (1000, 1000, 3)
(0, 0, 1000, 1000) took 41 ms, produced shaped (1000, 1000, 3)
(0, 0, 1100, 1100) took 41 ms, produced shaped (1100, 1100, 3)
(0, 0, 1200, 1200) took 42 ms, produced shaped (1200, 1200, 3)
(0, 0, 1300, 1300) took 40 ms, produced shaped (1300, 1300, 3)
(0, 0, 1400, 1400) took 43 ms, produced shaped (1400, 1400, 3)
(0, 0, 1500, 1500) took 47 ms, produced shaped (1500, 1500, 3)
(0, 0, 1600, 1600) took 48 ms, produced shaped (1600, 1600, 3)
(0, 0, 1700, 1700) took 47 ms, produced shaped (1700, 1700, 3)
(0, 0, 1800, 1800) took 49 ms, produced shaped (1800, 1800, 3)
(0, 0, 1900, 1900) took 54 ms, produced shaped (1900, 1900, 3)
(0, 0, 2000, 2000) took 55 ms, produced shaped (2000, 2000, 3)
(0, 0, 2100, 2100) took 53 ms, produced shaped (2100, 2100, 3)
(0, 0, 2200, 2200) took 57 ms, produced shaped (2200, 2200, 3)
(0, 0, 2300, 2300) took 62 ms, produced shaped (2300, 2300, 3)
(0, 0, 2400, 2400) took 64 ms, produced shaped (2400, 2400, 3)
(0, 0, 2500, 2500) took 69 ms, produced shaped (2500, 2500, 3)
(0, 0, 2600, 2600) took 75 ms, produced shaped (2600, 2600, 3)
(0, 0, 2700, 2700) took 73 ms, produced shaped (2700, 2700, 3)
(0, 0, 2800, 2800) took 79 ms, produced shaped (2800, 2800, 3)
(0, 0, 2900, 2900) took 86 ms, produced shaped (2900, 2900, 3)
Speed results for using pyscreenshot_test
(0, 0, 100, 100) took 221 ms, produced shaped (100, 100, 3)
(0, 0, 200, 200) took 207 ms, produced shaped (200, 200, 3)
(0, 0, 300, 300) took 210 ms, produced shaped (300, 300, 3)
(0, 0, 400, 400) took 215 ms, produced shaped (400, 400, 3)
(0, 0, 500, 500) took 236 ms, produced shaped (500, 500, 3)
(0, 0, 600, 600) took 228 ms, produced shaped (600, 600, 3)
(0, 0, 700, 700) took 238 ms, produced shaped (700, 700, 3)
(0, 0, 800, 800) took 247 ms, produced shaped (800, 800, 3)
(0, 0, 900, 900) took 261 ms, produced shaped (900, 900, 3)
(0, 0, 1000, 1000) took 262 ms, produced shaped (1000, 1000, 3)
(0, 0, 1000, 1000) took 256 ms, produced shaped (1000, 1000, 3)
(0, 0, 1100, 1100) took 263 ms, produced shaped (1100, 1100, 3)
(0, 0, 1200, 1200) took 273 ms, produced shaped (1200, 1200, 3)
(0, 0, 1300, 1300) took 286 ms, produced shaped (1300, 1300, 3)
(0, 0, 1400, 1400) took 296 ms, produced shaped (1400, 1400, 3)
(0, 0, 1500, 1500) took 316 ms, produced shaped (1500, 1500, 3)
(0, 0, 1600, 1600) took 327 ms, produced shaped (1600, 1600, 3)
(0, 0, 1700, 1700) took 341 ms, produced shaped (1700, 1700, 3)
(0, 0, 1800, 1800) took 351 ms, produced shaped (1800, 1800, 3)
(0, 0, 1900, 1900) took 363 ms, produced shaped (1900, 1900, 3)
(0, 0, 2000, 2000) took 382 ms, produced shaped (2000, 2000, 3)
(0, 0, 2100, 2100) took 393 ms, produced shaped (2100, 2100, 3)
(0, 0, 2200, 2200) took 408 ms, produced shaped (2200, 2200, 3)
(0, 0, 2300, 2300) took 427 ms, produced shaped (2300, 2300, 3)
(0, 0, 2400, 2400) took 444 ms, produced shaped (2400, 2400, 3)
(0, 0, 2500, 2500) took 463 ms, produced shaped (2500, 2500, 3)
(0, 0, 2600, 2600) took 478 ms, produced shaped (2600, 2600, 3)
(0, 0, 2700, 2700) took 498 ms, produced shaped (2700, 2700, 3)
(0, 0, 2800, 2800) took 520 ms, produced shaped (2800, 2800, 3)
(0, 0, 2900, 2900) took 536 ms, produced shaped (2900, 2900, 3)

For ImageGrab all_screens=True
def pil_test() :
    average = time()
    from PIL import ImageGrab
    for _ in range(5):
        printscreen =  np.array(ImageGrab.grab(all_screens=True))
    average_ms = int(1000*(time()-average)/5.)
    print(average_ms)

170ms, 187ms, 168ms, 167ms

I will note that it's another matter entirely to support multiple monitors in the gaze-ocr package, because you would need eye tracking support across all screens, which Tobii does not provide with the APIs I am using.

Yes that's unfortunate and I don't think Tobii most recent APIs support multi-monitor. Individuals disabilities exist on a range and the means to which they interact with the computer. Some people compensate by using limited mouse movement, stylus, Xbox 360 controller, and various other devices. What most of them have have in common is they move the mouse cursor. My goal here is to provide alternative means eye tracking to leverage OCR capabilities focused on the cursor.

I will note that it's another matter entirely to support multiple monitors in the gaze-ocr package, because you would need eye tracking support across all screens, which Tobii does not provide with the APIs I am using.

Yes that's unfortunate and I don't think Tobii most recent APIs support multi-monitor. Individuals disabilities exist on a range and the means to which they interact with the computer. Some people compensate by using limited mouse movement, stylus, Xbox 360 controller, and various other devices. What most of them have have in common is they move the mouse cursor. My goal here is to provide alternative means eye tracking to leverage OCR capabilities focused on the cursor regardless of how the cursor is being moved.

Makes sense! If there is functionality that you want to use in gaze-ocr without tying it to eye tracking, please let me know the details and we can think about if there's a good way to support that. On the other hand, if you just want to use screen-ocr that should be no problem as it has no dependencies on eye tracking.
I am likely to be very busy over the next ... well I'm having my first kid so I don't know how long. But I'll try to support what I can :-)

I am likely to be very busy over the next ... well I'm having my first kid so I don't know how long. But I'll try to support what I can :-)

Congratulations! As someone that recently had a 1st be be prepared for not having a lot of time :)


Do not show completions inside comments

Detecting if we're inside a comment by checking if current offset is in a SyntaxTrivia and that trivia is a comment type
If so, do not try to build completions, as it's pointless - return BicepCompletionContextKind.None

Fixes #970

Codecov Report

Merging #974 (75f8d55) into main (fa6e2c5) will increase coverage by 0.51%.
The diff coverage is 96.66%.

@@            Coverage Diff             @@
##             main     #974      +/-   ##
==========================================
+ Coverage   94.33%   94.84%   +0.51%
==========================================
  Files         316      313       -3
  Lines       14771    14649     -122
  Branches       12        0      -12
==========================================
- Hits        13934    13894      -40
+ Misses        837      755      -82

Flag
Coverage Δ

dotnet
94.84% <96.66%> (-0.09%)
:arrow_down:

typescript
?

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

Impacted Files
Coverage Δ

...rc/Bicep.Core/Navigation/SyntaxTriviaExtensions.cs
94.44% <94.44%> (ø)

...ngServer.UnitTests/BicepCompletionProviderTests.cs
100.00% <100.00%> (ø)

...p.LangServer/Completions/BicepCompletionContext.cs
96.24% <100.00%> (+0.07%)
:arrow_up:

...cep.Core.UnitTests/FileSystem/FileResolverTests.cs
79.31% <0.00%> (-20.69%)
:arrow_down:

.../Bicep.Core.UnitTests/Assertions/BaselineHelper.cs
63.63% <0.00%> (-15.91%)
:arrow_down:

src/Bicep.Core/FileSystem/PathHelper.cs
96.15% <0.00%> (-3.85%)
:arrow_down:

src/Bicep.Core/Emit/ScopeHelper.cs
92.38% <0.00%> (ø)

src/Bicep.Core/Syntax/SyntaxTree.cs
100.00% <0.00%> (ø)

src/Bicep.Core/Emit/TemplateEmitter.cs
100.00% <0.00%> (ø)

src/Bicep.Core.UnitTests/Utils/ParserHelper.cs
100.00% <0.00%> (ø)

... and 94 more

Thanks for sending the fix for this!


As a user, I would like the menus to be displayed correctly

Currently, the menus of Flow are displayed wrong, due to "Allergener" also using being inside a h2-element. This must be fixed


[Question] Regarding the use of Sink.stop

My problem: I have a Rpi3 + Hifiberry Digi+ Pro running VolumioNext (the new build that supports Digi+ Pro) and use the volspotconnect2 that in turn uses librespot. Whether I am using TOSLINK or Coax, I get a mute relay click from my DAC (Schiit Yggdrasil) whenever

Started playing after a stop
Resumed playing after a stop
Next track or previous track before 3 secs into play

Since in the Alsa backend, the format of the stream is fixed (signed 16,44100), the only way that make the DAC relay click is by stopping the output completely and restarting the output.
I've noticed that Sink.stop were called exactly 4 times in
PlayerCommand::Load
PlayerCommand::Stop
PlayerCommand::Pause

and when there is a Vorbis error
Would it be possible to change the stop behaviour to not cut off the whole backend? What I perceive the possible solutions could be one of the following(please correct me if I am wrong):

Don't set self.0 = None; in stop, just do nothing
Implement a Sink.mute function that outputs 0 constantly (or does nothing) and use Sink.mute instead of Sink.stop for the first 3 scenarios. Than we can keep the Sink.stop behavior for Vorbis errors.

Releasing the ALSA device when stopped, like other applications do, is good, do you really want to lose that? If you don't release it you end up blocking any other applications form using it (unless you configure an ALSA dmix plugin). When you've got a bunch of audio playback applications trying to get along together this is quite important.
If I remember correctly (I might be wrong), the Android Spotify client doesn't actually have a stop button, so bizarrely in this case it's nice that pause has the same behaviour as stop in regards to this.

In my setup, the RPi should not have other audio apps competing with librespot for audio, if it has, it would be very distracting. Another thought would be to not stop ALSA for as long as librespot is connected to Spotify, and only stop it when the connection is broken.

They are not actually playing audio at the same time. Only on program is ever actually in a playing state. Generally you would have it setup so each program's on-play function sends stop commands to all the other programs. So that the one program that is actually currently using the alsa device will then stop and release it. For this setup, ensuring that stop always releases the device (like your 2nd paragraph) is important. I hope I've explained this a bit better now.

So would it make more sense to implement a hard .stop and .pause and use .pause for Playercommand:{Load|Pause}? I think this would be required for gapless if it's implemented too

In its early versions (when only the portaudio backend was available), librespot never closed the audio device. I wished for this to be changed, and it was merged. You can see relevant changes and discussion here: https://github.com/plietar/librespot/pull/107
Maybe you could even just revert this commit for yourself.
In the meantime, I have also learned that there are situations where it would be better to keep the audio device open, at least as long librespot is selected as speaker. @plietar, maybe this should be switchable with a command-line-switch like --close-audio-device-on-stop  true(=default)|false?

I went ahead to change .stop to do nothing (thus holding the audio device). As I am running from a plugin in Volumio, the only way right now is to restart the plugin in order to release the device. Not a huge hassle for me at the moment as Spotify is my only streaming source.
Another idea is to place a hook in handle_end_of_track to start a timer of X (like X=5 or 10) second, if there isn't any message coming in after timeout (either seek() or next()), it would probably mean that user has no interaction at the end of a playlist and we can release the device. But this is well beyond my understanding of Rust at this moment.


Engine 'insufficient permissions' error after login to VM portal

After user logs into VM portal, engine contains error with insufficient permissions. For admin user error is only one, with other user there are more of it.
2018-06-05 15:42:07,737+02 INFO  [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-4) [2eed862f] User admin@internal successfully logged in with scopes: ovirt-app-admin ovirt-app-api ovirt-app-portal ovirt-ext=auth:sequence-priority=~ ovirt-ext=revoke:revoke-all ovirt-ext=token-info:authz-search ovirt-ext=token-info:public-authz-search ovirt-ext=token-info:validate ovirt-ext=token:password-access
2018-06-05 15:42:07,835+02 INFO  [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default task-5) [1e272f3f] Running command: CreateUserSessionCommand internal: false.
2018-06-05 15:42:07,862+02 INFO  [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (default task-5) [1e272f3f] EVENT_ID: USER_VDC_LOGIN(30), User admin@internal-authz connecting from 'localhost' using session 'QYiNiikt5ibInOiFPKo3xnfr7Mx/Jvx4YxZFNohRquqry0bpqO47wPRejpQA/mCUtDAG1M6LZ/g8G8L92IeL3Q==' logged in.
2018-06-05 15:42:08,536+02 ERROR [org.ovirt.engine.core.bll.GetSystemStatisticsQuery] (default task-15) [277463df-7bae-4a04-ad88-7aec0fb1799f] Query execution failed due to insufficient permissions.
2018-06-05 15:43:40,863+02 INFO  [org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-13) [] User test@internal successfully logged in with scopes: ovirt-app-admin ovirt-app-api ovirt-app-portal ovirt-ext=auth:sequence-priority=~ ovirt-ext=revoke:revoke-all ovirt-ext=token-info:authz-search ovirt-ext=token-info:public-authz-search ovirt-ext=token-info:validate ovirt-ext=token:password-access
2018-06-05 15:43:40,992+02 INFO  [org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default task-7) [42102018] Running command: CreateUserSessionCommand internal: false.
2018-06-05 15:43:41,022+02 INFO  [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (default task-7) [42102018] EVENT_ID: USER_VDC_LOGIN(30), User test@internal-authz connecting from 'localhost' using session 'z0XIBMvrDZpnLQkk4TVZ/Kyi6k0BaSddDhucwK28eBIsZhhb/GAmANklf+d5UJ9CcO88bM2rLT9Rbm3dHZ4KYA==' logged in.
2018-06-05 15:43:41,901+02 ERROR [org.ovirt.engine.core.bll.GetSystemStatisticsQuery] (default task-1) [d40a20df-a867-4c71-897a-7aa722888afe] Query execution failed due to insufficient permissions.
2018-06-05 15:43:41,958+02 ERROR [org.ovirt.engine.core.bll.GetPermissionsForObjectQuery] (default task-10) [d07071cd-df61-4e6f-8779-7b30113d28aa] Query execution failed due to insufficient permissions.
2018-06-05 15:43:41,965+02 ERROR [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (default task-10) [] Operation Failed: query execution failed due to insufficient permissions.
2018-06-05 15:43:42,509+02 ERROR [org.ovirt.engine.core.bll.storage.domain.GetStorageDomainListByIdQuery] (default task-7) [5bf40b5d-af6e-44d0-b6c1-4d1f441b1a01] Query execution failed due to insufficient permissions.
2018-06-05 15:43:42,512+02 ERROR [org.ovirt.engine.core.bll.storage.domain.GetStorageDomainListByIdQuery] (default task-7) [5bf40b5d-af6e-44d0-b6c1-4d1f441b1a01] Query execution failed due to insufficient permissions.
2018-06-05 15:43:42,515+02 ERROR [org.ovirt.engine.core.bll.storage.domain.GetStorageDomainListByIdQuery] (default task-7) [5bf40b5d-af6e-44d0-b6c1-4d1f441b1a01] Query execution failed due to insufficient permissions.
2018-06-05 15:43:42,534+02 ERROR [org.ovirt.engine.core.bll.storage.domain.GetStorageDomainListByIdQuery] (default task-7) [5bf40b5d-af6e-44d0-b6c1-4d1f441b1a01] Query execution failed due to insufficient permissions.

@leistnerova just saw this. Is this still an issue?

Yes, the error still appears in engine log.
ovirt-engine-<IP_ADDRESS>-0.1.el7ev.noarch with ovirt-web-ui-1.4.0-3.fc28.noarch

@jelkosz wdyt about this one? API issue?

yes. Some items are not accessible to users. E.g. GetSystemStatisticsQuery triggered from the root /ovirt-engine/api/ is not a user query, so it fails for any non-admin user.

@michalskrivanek what do you think the fix should be, turn that down from ERROR to WARNING/INFO or something else?

best would be a case by case fix on engine/api side not to raise errors. Typically they are not that hard to fix.

tracking at https://bugzilla.redhat.com/show_bug.cgi?id=1612124

@michalskrivanek Martin's take on "GetSystemStatisticsQuery triggered from the root /ovirt-engine/api/ is not a user query, so it fails for any non-admin user" is that we shouldn't call it.
What should we do instead? Keep calling it when admin is logged in, or use something else?

i wouldn't give up just yet;)

i wouldn't give up just yet;)

huh?

This issue was fixed: https://bugzilla.redhat.com/show_bug.cgi?id=1612124


fix avoid gson serde with EsRepository

Proposed changes
To avoid error like:
class org.apache.doris.external.elasticsearch.EsRepository declares multiple JSON fields named runnable

Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.46 seconds
stream load tsv:          420 seconds loaded<PHONE_NUMBER>9 Bytes, about 169 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          59 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230508083642_clickbench_pr_140155.html

run buildall


Reset Bulk Service when body cannot be serialized

Which version of Elastic are you using?
[ ] elastic.v2 (for Elasticsearch 1.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[X ] elastic.v5 (for Elasticsearch 5.x)
[X ] elastic.v6 (for Elasticsearch 6.x)
Please describe the expected behavior
The bulk service should be reset when it encounters an error serializing its body. E.g. when the input contains a value of NaN, +/- Infinity, or a time.Time with a year outside of [0, 9999].
https://github.com/olivere/elastic/blob/release-branch.v6/bulk.go#L202
Otherwise, the service (when used in conjunction with a bulk processor) gets stuck in an endless error loop since it is only reset after a request is completed.  The request will never happen if the input is invalid.
I'm not sure if it should be the responsibility of the bulk service or the bulk processor to break out of this loop.
Please describe the actual behavior
When the bulk service is used with a bulk processor, once a request is encountered that will not serialize, the bulk processor will not be able to reset the bulk service and continually get errors back.
Any steps to reproduce the behavior?
A document with a float64 that passes math.IsNaN() or math.IsInf(var, 0) or a time.Time with a year outside of [0,9999] will trigger this error loop since those values trigger a JSON serialization error.

I've had problems because of this particular reason.
In my case, I needed very quick solution, so I've forked library and made an exported version .Reset() of .reset() method. So I could reset bulk service in client code manually when needed

Making Reset public is a viable workaround. It puts the caller into control. I have to test if resetting on error automatically will come with side-effects.

@rwynn Does the problem with an infinite loop even exist if you set a specific backoff strategy with Bulk Processor?

@olivere I would need to verify on the backoff stategy but I think the infinite loop would still exist.  The bulk processor reuses the configured number of worker/service pairs created when the processor is started.  The only path to reset the requests slice for those services is forward: to be able to form request, transmit, and parse response.
Even if auto flush, retry, etc are completely turned off in the processor, the requests slice in the service will still continue to grow after this condition proportionate to the user calling Add().
The only remediation the user has in this case is to Stop and Start the processor which re-creates the worker/service pairs.
I get why the request actions are not throw away, but maybe the default should be to throw them away in Do unless a specific type of error is received - like a net error...
https://github.com/olivere/elastic/blob/release-branch.v6/bulk_processor.go#L480
Because of all the errors that can happen, a communication error is the only I can think of that would be transient in this case.

@larrycinnabar @rwynn The Reset method is now exported across all version: v2, v3, v5 and v6 (very shortly). I'll keep this open because it seems it's only half the job, but unfortunately I don't have time for a more deep dive right now.

@rwynn I just released 6.1.24 which contains #802. Sorry for the delay. There is something fishy with Composite aggregations in ES 6.3, but I couldn't find an issue in Elastic.


Why most of the fields for docker service create have been marked as mandatory?

Since docker-client 7.0.x, most of the docker service create options like the properties of Mount, ServiceSpec, ContainerSpec have been marked as mandatory. The clients of these versions have to explicitly enter the default values although docker engine provides them (by default). Last week, I 've opened issues (#617 and #619) to address some of them but it seems that the same situation applies to most of the options (e.g. you cannot create a volume without providing bindOptions). Is this done on purpose or is it a bug?

@dmandalidis Sorry, this is a bug. Do you have a full list of all the optional attributes?

@davidxia No I haven't the list at hand and it will take time to compile one. Moreover, I 'm using a couple of methods of docker-client and others may be missing as well. As far as I understood a major refactoring with AutoValue took place which messed up things, could you check back at 6.2.5 version the attributes for docker-service-create were correct at the time.

@dmandalidis Please take a look at PR #645. Hopefully I got all of them.

I'm going to close. We can create new issues for specific bugs.


Clicking on dropzone component triggers onsubmit event on parent form

Describe the bug
When Dropzone is wrapped inside a form element and clicked, onSubmit for the form is triggered.
Reproduction

<form
  class="space-y-4 mt-8"
  on:submit={(e) => {
    console.log('onsubmit called from clicking dropzone button')
    e.preventDefault()
  }}
>
  <Dropzone id="aum-dropzone" accept="audio/mp3" bind:files>
    <svg
      aria-hidden="true"
      class="mb-3 w-10 h-10 text-gray-400"
      fill="none"
      stroke="currentColor"
      viewBox="0 0 24 24"
      xmlns="http://www.w3.org/2000/svg"
      ><path
        stroke-linecap="round"
        stroke-linejoin="round"
        stroke-width="2"
        d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12"
      /></svg
    >

      Click to upload or drag and drop

Only mp3 files

  </Dropzone>
  <Button type="submit" gradient outline color="primary">
    Submit
  </Button>
</form>

https://stackblitz.com/edit/sveltejs-kit-template-default-yn4zve?file=src%2Froutes%2F%2Bpage.svelte
Flowbite version and System Info
System:
    OS: Linux 5.0 undefined
    CPU: (4) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 16.20.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.4.2 - /usr/local/bin/npm
    pnpm: 8.6.3 - /usr/local/bin/pnpm
  npmPackages:
    @sveltejs/kit: ^1.22.0 => 1.22.0
    flowbite-svelte: ^0.38.5 => 0.38.5
    svelte: ^4.0.4 => 4.0.4
    vite: ^4.3.9 => 4.3.9

Hi, I'm getting this issue too and I am seeing the linking PR being closed. Is there a solution to this issue right now?

I close the issue for now.
Please feel free to open a new issue.
Thank you for your contribution.


Attaching multiple gateways to a single istio ingressgateway

Bug description
Not 100% this is a bug and may be intended behaviour. I'm facing the same issue described in this post. TL:DR, I can't attach multiple gateways to a single ingress-gateway without hitting an issue over listener port clashes
2021-05-18T20:24:19.069384Z    warning    envoy config    gRPC config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: Error adding/updating listener(s) <IP_ADDRESS>_8443: duplicate listener <IP_ADDRESS>_8443 found

I haven't been able to find any documentation on this so reaching out. If this a known thing can we get some docs in the appropriate location to state this.
The second part to this is - if this is indeed expected behaviour, what is the idiomatic way for having one ingress-gateway route through two separate hosts with respective certs?
[X] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
Two separate hosts get routed to their respective destinations.
Steps to reproduce the bug
Follow steps described here. For brevity I've pasted the yaml below:
First gateway
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gw1
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - ns1/*
    port:
      name: http
      number: 80
      protocol: HTTP
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: vs1
  namespace: ns1
spec:
  gateways:
  - gw1.istio-system.svc.cluster.local
  hosts:
  - '*'
  http:
  - match:
    - uri:
        prefix: /devapi
    route:
    - destination:
        host: devapi-service.ns1.svc.cluster.local
        port:
          number: 8080

Second gateway
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gw2
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - istio-system/*
    port:
      name: http
      number: 80
      protocol: HTTP
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: vs2
  namespace: istio-system
spec:
  gateways:
  - gw2.istio-system.svc.cluster.local
  hosts:
  - '*'
  http:
  - match:
    - uri:
        prefix: /query
    route:
    - destination:
        host: query-service.istio-system.svc.cluster.local
        port:
          number: 8080

Ignore for a moment why this service is deployed to istio-system namespace
Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
istioctl
istioctl version --remote
client version: 1.9.4
control plane version: 1.8.4
data plane version: 1.8.4 (12 proxies)

kubectl
Client Version: v1.18.5
Server Version: v1.18.9-eks-d1db3c

How was Istio installed?
Operator
Environment where the bug was observed (cloud vendor, OS, etc)
AWS EKS
Additionally, please consider running istioctl bug-report and attach the generated cluster-state tarball to this issue.
Refer cluster state archive for more details.

Hi, I think there must be more Gateway configs causing this. Both of these are for port 80 HTTP, so I don't think it would cause the error. Can you show all of your configs?
my guess is you have one gateway pointing to the service port (443) and one to the target port (8443)?

Hey @howardjohn - sorry to cause confusion. I copied the yaml above from that post. where as the duplicate listener error I provided is from my system. You can find my yaml config at the end. I wanted to get at the point that both my gateways are bound to the same ingress-gateway via the selector and this shouldn't cause a duplicate listener error.
The ingress-gateway itself is setup with port 443 to targetPort 8443. For gw1 I have a successful listener setup as can be seen below with istioctl:
ADDRESS PORT  MATCH                              DESTINATION
<IP_ADDRESS> 8443  SNI: example.com Route: https.443.https.gw1.istio-system

however for gw1 which is using 8443 the listener doesn't come up and I hit the duplicate listener issue.
@bianpengyuan Thanks for linking that PR. Looking at the history and related mentions this does seem to look like the same thing.
gateway yaml:
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gw1
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - ns1/*
    port:
      name: https
      number: 443
      protocol: HTTPS

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gw2
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - istio-system/*
    port:
      name: https
      number: 8443
      protocol: HTTPS


Color/ Style Guide!

Need final colors, and defined rules as to when to apply which, for titles, backgrounds, etc.

add color pallet to scss config file


View Effort Estimation in Work Item List

Reference: 1608E067
Description
As a user, I want to see the effort estimation value of a work item in the work item list view.
Functional Acceptance Criteria

The effort estimation value is visible in an item of the work item list.
The effort estimation value is not editable in the work item list display.

Non-Functional Acceptance Criteria
None.

For a child workitem - will we aggregate the effort estimation "up" to its parent ala JIRA tasks and subtasks?

@ldimaggi good question. The whole logic behind setting values at some point in the graph and the rules that values are distributed inside the graph is not yet discussed. I think this might also be something that is  defined by the user-configurable schema and be different in different process flows (like one team handles that differently than another). @aslakknutsen
At this time, I would consider that detached, so the priority and/or the order of execution is handled independently of any associated WI.

@michaelkleinhenz Agree, let's consider it detached for now. Some similar thoughts came up during Boston meeting, e.g. is an Experience open if all 'children' are closed? Does a new open child reopen the parent? Is a parent just an accumulation of its children etc.. And I think the general feel from PM was; Way too many rules, too complex, will only cause some enforced wrong process. The Hierarchy is a business level visualization, not a way to enforce a strict process. But there could still be some interesting visualization ideas around this from the UX side even tho Core doesn't enforce anything.

This issue was moved to fabric8io/fabric8-planner#663


Add .NET 7, drop .NET 5

.NET 7 is now out and .NET 5 went out of support back in May '22.

Related to https://github.com/devcontainers/images/issues/200

Also looks like libssl1.1 is not available on Ubuntu Jammy, so we should be installing libssl3. There was a bug in the .NET script that had the wrong package name, and then common script is missing adding libssl3 as the replacement for 1.1. Will fix that too.

Okay - this required quite a bit of refactoring to get to work since the regression tests showed a number of problems.  So, here's what has been done:

The apt-based install process now handles both native and non-native packages along with sub-versions. This was broken somewhere along the way. Furthermore, the version in the OS is more fixed than the version in the MS repo, so we need to adapt to that.  This actually simplified the total code since it was already set up to do this... package name detection was present before.
The symlink to "current" was also getting messed up which could result in updates still pointing to the old location.
I removed hard coding DOTNET_ROOT from devcontainer-features.json since there can be more than one location on disk. These days dotnet itself should set this well enough.

TBH - Looking at the complexity now that there's two potential apt sources PLUS the multi-install location that could result in a third possible spot.  I actually suspect it may be better to always use curl to pull down the packages rather than apt.
I also noticed that the way the multiple versions of .NET are getting installed is probably not the way that it should be since the pattern is to put multiple SDKs under the same dotnet directory.  But again, did not change that.
I didn't quite go that far though.


Task: List AWS Thing Types using pagination

Is your feature request related to a problem? Please describe.
Related to #1802, #1805 and #1806

Users must be able to list and search thing types by

Name
Description
Tags
Searchable Attributes

Users must also be able to sort thing types by name.
Users must by able to navigate to the create view to add a new thing type
Users must by able to navigate to the edit view to update/deprecate an existing thing type
Users must by able to delete an existing deprecated thing type

Documentation: https://docs.aws.amazon.com/iot/latest/developerguide/thing-types.html
Describe the solution you'd like
Backend:

Create/update a service that queries database to get thing types

Pagination must be used
Filter by name, description, tags and searchable attributes
Order by name and description

Create a REST endpoint that allow HTTP clients to query thing types

Frontend:

Add a method on service layer that calls the backend to query thing types
Add a blazor component to

Display thing types in a table by order on Name and description colunms. Each row of this table contains

Delete button to delete a thing type (Only when it is deprecated)
Details button to navigate the thing type details view

Search by name, description, tags and searchable attributes

@ssgueye2 is this ready to review ? If yes, please move the PR to review :

@ssgueye2 is this ready to review ? If yes, please move the PR to review :

Yee Hocine validated it. but the PR includes three tickets (Listing, Update & Delete Thing Type). So I finished the Task on the listing using pagiantion and now I am working on the tasks "delete thing type" and "update thing type"


Exportselectedprojects

This adds an "Export Selected Projects" button to the "Projects" toolbar at the top of the App Inventor page.

make sure your branch is up-to-date and that your commit has been squashed down to one commit.

When I did "git pull upstream master", I did it from my branch, not from my master. Closing pull request and opening a new one that is cleaned up.


VIRT_Parameters_DirsAllowed truncated at comma

When I try to set
VIRT_Parameters_DirsAllowed: "., /usr/local/virtuoso-opensource/share/virtuoso/vad, /models"

It gets truncated at the first comma and the virtuoso.ini ends up with:
DirsAllowed			= .,

I tried to escape it with '' and extra \"\" but it did not help.

I can't reproduce this in my local bash. I have crudini 0.7 installed, which is the same as in tenforce/virtuoso:1.1.0-virtuoso7.2.4
If I run
$ VIRT_Parameters_DirsAllowed="., /usr/local/virtuoso-opensource/share/virtuoso/vad, /models"
$ crudini --set virtuoso.ini Parameters DirsAllowed "$VIRT_Parameters_DirsAllowed"

The value is correctly set to
DirsAllowed			= ., /usr/local/virtuoso-opensource/share/virtuoso/vad, /models

Sorry. This obviously was fixed with #7 (1.2.1 and above)


feat(swift): waitFor helpers

🧭 What and Why
🎟 JIRA Ticket: DI-1746
Changes included:

waitForTask helper
waitForApiKey helper

🧪 Test

manual tests for each helper and their error cases

thanks for taking the time to add tests !

oops wrong button


Fix Damage Tilt

Post 1.2.5, the screen no longer tilts towards the damage source like it used to. I'm pretty sure the line of code still exists but Mojang just screwed something up in an update and never fixed it since.

yes, and iirc there's even videos on youtube that explain where this error is and how to fix it. Came across some before I learned to code.. Never checked if FC ever fixed it. Its not really noticeable for me personally. If it's not fixed we probably should look it up and have it fixed easlily

Yeah IIRC the issue is just a single number not being synced from server to client and is an easy fix

Idk about label, didn't feel right to call it a bug so :woman_shrugging:


feat: split errors to classes by types

Signed-off-by: Valentinas<EMAIL_ADDRESS>In this PR, I created a separate class for each error type.
Fixes https://github.com/open-feature/dotnet-sdk/issues/110

Thank you for your reviews. Code updated.


Speed up image diffing by using line-by-line analyzing

This would allow us to fail fast!

But wouldn't we still need the whole image to visually look at?

Yeah but now for the diffing which is really slow right now since it runs
through imagemagick.
On May 12, 2016 3:34 PM, "Ryan Raub"<EMAIL_ADDRESS>wrote:

But wouldn't we still need the whole image to visually look at?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/gios-asu/react-cornea/issues/28#issuecomment-218905136


dependencyLocking.lockMode = STRICT outputs error about missing compileOnly lockfile

./gradlew dependencies --write-locks does not generate a lockfile for the compileOnly configuration, as it shouldn't be used for resolution.
If I include the following in my build.gradle.kts, however, Gradle 6.1.1 outputs an error:
dependencyLocking {
    lockAllConfigurations()
    lockMode = STRICT
}

Error:
Configuration ':compileOnly' is locked but does not have a lockfile.

Expected Behavior
I expect no compileOnly lockfile, and no complaints from lockMode = STRICT that the compileOnly lockfile doesn't exist.  The same should occur for any other non-resolution configurations.
Current Behavior
I get the aforementioned error.

Removed the bug label and closing as the behavior is correct, though it can be surprising.


bins/opt/xds_end2end_test --gtest_filter=UpdatesTest.UpdateBalancersButKeepUsingOriginalBalancer is flaky

https://source.cloud.google.com/results/invocations/b3d7098f-90e7-4cdb-8120-2bfbe79a1989/targets/github%2Fgrpc%2Fcpp_macos_opt_native/tests

I0604 15:49:55.567965000<PHONE_NUMBER>77728 xds_end2end_test.cc:1135]     ========= UPDATE 1 DONE ==========
I0604 15:49:55.570787000<PHONE_NUMBER>34400 subchannel.cc:1079]           New connected subchannel at 0x7fb605508ea0 for subchannel 0x7fb607009a20
test/cpp/end2end/xds_end2end_test.cc:616: Failure
Value of: status.ok()
  Actual: false
Expected: true
code=4 message=Deadline Exceeded
test/cpp/end2end/xds_end2end_test.cc:618: Failure
      Expected: response.message()
      Which is: ""
To be equal to: kRequestMessage_
      Which is: "Live long and prosper."