Auto center tooltip

Hi @Abhinandan-Kushwaha, is it possible to autocenter the tooltip? I can see tooltip position is left at the same point with the left of its bar. Could be tooltip positioned to the center?

Hi @carlosriveroib
Thanks for suggesting this feature. I will try to implement it in the next release.
Meanwhile, you can manually adjust the tooltip to center by giving a negative marginLeft.

Hi @carlosriveroib
I have added a new prop named autoCenterTooltip. It is available in versions 1.4.17 onwards.

Wow, what a beast
One suggestion, when I was looking for charts libraries for my project, I took a look at this one and the feeling was that it was either not maintained or not very good. The look & field of the docs page seems like "old". For example, in Github, there are no releases created. Then I tried another chart library and it wasn't what I was looking for, so I ended up giving this one a try and OMG it's the best charts library I've tried. The doc is the best with lots and lots of examples. I don't understand how this library can only have 661 stars because it is wonderful. I really appreciate your work. Thank you

Do you want help creating a new docs web using NextJS and this template? https://nextra.site/

@carlosriveroib Of course!!
I would love to have the docs revamped. Any help is greatly appreciated.
I will make the current docs open source. You can see the code and we can together make a new open source repos with the template you suggested.
In fact, I am planning to include auto-code/codegen where developers can make charts using drag and drop and it will generate the code. This is now possible because I have recently released the web version of the library - react-gifted-charts
We can connect over Meet/Zoom when you are available. I am mostly available on the weekends.

Perfect, let's meet this weekend. Send me meet invitation to<EMAIL_ADDRESS>add me to discord if you want carlosriveroib#6748 or we can chat in another app

Hi @carlosriveroib
Let's connect when you're available-
react-native-gifted-charts docs
July 28, 2024, 5:00pm – July 29, 2024, 12:00am ·
Time zone: Asia/Kolkata
Google Meet joining info
Video call link: https://meet.google.com/hjk-mmqb-ypk

Can you meet at 20:30 Asia/Kolkata timezone?

Sure @carlosriveroib


Validate field based on other optional fields

Question

OS: macOS Mojave
Python version: 3.7.0
Pydantic version: 0.21

I'm currently working with pydantic in a scenario where I'd like to validate an instantiation of MyClass to ensure that certain optional fields are set or not set depending on the value of an enum. However, I'm noticing in the @validator('my_field'), only required fields are present in values regardless if they're actually populated with values.
import enum
from pydantic import BaseModel, validator

class MyEnum(enum.Enum):
    ENUM_VALUE = 'foo'
    OTHER_VALUE = 'bar'

class MyClass(BaseModel):
    required_float: float
    my_enum: MyEnum
    optional_float: float = 0.0

    @validator('my_enum')
    def ensure_stuff_exists(cls, v, values, **kwargs):
        if v == MyEnum.ENUM_VALUE and values['optional_float'] is not None:
            raise KeyError('foo')

MyClass(
    my_enum=MyEnum.ENUM_VALUE,
    required_float=4.0,
    optional_float=22.0,
)
...

In the above example, only required_float and my_enum would be populated in values, I am unable to inspect the value of optional_float, even though it is populated with a value upon instantiation. Is there any way to perform this type of validation? I hope this example makes sense.

Yes, fields are populated in the order they're defined in the class, so just move my_enum down one line to below optional_float.

I am not observing that fields are populated in the order they are defined - I am observing that first required fields are populated in the order they are defined, and then the optional fields are populated in the order they are defined. This is as of pydantic version 0.31.0 (Linux, Python 3.7.3). Here is a minimal example and it's output:
import traceback
from typing import List

import pydantic

class ExampleNoOptional(pydantic.BaseModel):
    foo: List[int]
    bar: int

    @pydantic.validator("bar")
    def add_length_of_foo_to_bar(cls, value, values, **kwargs):
        return value + len(values["foo"])

a = ExampleNoOptional(bar=5, foo=[1, 2, 3])
print(a.foo)
print(a.bar)
# outputs
# [1, 2, 3]
# 8

class ExampleWithOptional(pydantic.BaseModel):
    foo: List[int] = [1, 2]
    bar: int

    @pydantic.validator("bar")
    def add_length_of_foo_to_bar(cls, value, values, **kwargs):
        return value + len(values["foo"])

try:
    print(ExampleWithOptional(bar=5).bar)
except KeyError:
    traceback.print_exc()
# outputs
# Traceback (most recent call last):
#    ...
#    return value + len(values["foo"])
# KeyError: 'foo'

try:
    print(ExampleWithOptional(bar=5, foo=[1, 2, 3]).bar)
except KeyError:
    traceback.print_exc()
# outputs
# Traceback (most recent call last):
#    ...
#    return value + len(values["foo"])
# KeyError: 'foo'

class ExampleWithOptionalWorking(pydantic.BaseModel):
    foo: List[int] = [1, 2]
    bar: int

    @pydantic.validator("bar")
    def add_length_of_foo_to_bar(cls, value, values, **kwargs):
        return value + len(values.get("foo", []))

a = ExampleWithOptionalWorking(bar=5)
print(a.foo)
print(a.bar)
# outputs
# [1, 2]
# 5

a = ExampleWithOptionalWorking(bar=5, foo=[1, 2, 3])
print(a.foo)
print(a.bar)
# outputs
# [1, 2, 3]
# 5

This makes it challenging to validate required fields based on the values of optional fields.

Additionally, as a sanity check, I copied the code in the original question and followed the advice of moving my_enum down one line below optional_float, and I get the same KeyError indicating that the optional_float is not yet in the values dictionary.
Am I missing something?

@SethMMorton I think you are right. Following a debugger, I got an error in pydantic.main.validate_model, and noticed this:
def validate_model(  # noqa: C901 (ignore complexity)
    ...
    for name, field in model.__fields__.items():

So, it seemed like the order of the __fields__ would be what mattered. Sure enough:
from typing import List
import pydantic

class ExampleNoOptional(pydantic.BaseModel):
    foo: List[int]
    bar: int

class ExampleWithOptional(pydantic.BaseModel):
    foo: List[int] = [1, 2]
    bar: int

print(ExampleNoOptional.__fields__)
# {'foo': <Field(foo type=int required)>, 'bar': <Field(bar type=int required)>}

print(ExampleWithOptional.__fields__)
# {'bar': <Field(bar type=int required)>, 'foo': <Field(foo type=int default=[1, 2])>}

I don't have a work around yet (or even an understanding of why optional fields come later), but you aren't crazy.

@SethMMorton
This is the source of the issue:
https://github.com/samuelcolvin/pydantic/blob/master/pydantic/main.py#L207

# annotation only fields need to come first in fields

I just tested, and you can make it work by adding the "required" indicator:
from typing import List
from pydantic import BaseModel, Schema

class ExampleNoOptional(BaseModel):
    foo: List[int] = Schema(...)
    bar: int

class ExampleWithOptional(BaseModel):
    foo: List[int] = [1, 2]
    bar: int

This has actually been the source of several confusing validation bugs for me that I never really got to the bottom of (and worked around in other ways), so thanks for investigating this issue!

This is actually mentioned in the docs 😅. @samuelcolvin I think it might be good to put a red warning box in the validators section about this as well -- I very nearly missed it just now while looking closely for a reference about this in that section, and I suspect that section is a much more likely target than the mypy section when debugging a validation issue (speaking from experience...).
If you are open to it let me know and I'll make a pull request for the docs.

Could it be due to the code starting at https://github.com/samuelcolvin/pydantic/blob/c28d469f5ba95b13114a148cf3b47f58857dfeb0/pydantic/main.py#L206?
I cannot say I fully understand what is going on or why, but the comment # annotation only fields need to come first in fields seems to imply that required (e.g. annotation only) will come first.
        if (namespace.get('__module__'), namespace.get('__qualname__')) != ('pydantic.main', 'BaseModel'):
            # annotation only fields need to come first in fields
            for ann_name, ann_type in annotations.items():
                if is_classvar(ann_type):
                    class_vars.add(ann_name)
                elif is_valid_field(ann_name) and ann_name not in namespace:
                    validate_field_name(bases, ann_name)
                    fields[ann_name] = Field.infer(
                        name=ann_name,
                        value=...,
                        annotation=ann_type,
                        class_validators=vg.get_validators(ann_name),
                        config=config,
                    )

            untouched_types = UNTOUCHED_TYPES + config.keep_untouched
            for var_name, value in namespace.items():
                if (
                    is_valid_field(var_name)
                    and (annotations.get(var_name) == PyObject or not isinstance(value, untouched_types))
                    and var_name not in class_vars
                ):
                    validate_field_name(bases, var_name)
                    fields[var_name] = Field.infer(
                        name=var_name,
                        value=value,
                        annotation=annotations.get(var_name),
                        class_validators=vg.get_validators(var_name),
                        config=config,
)

Also, @samuelcolvin if this field-ordering validation issue could be fixed (so that fields were always validated in the order declared, ignoring whether they were annotation only), would that be something you'd be willing to incorporate in 1.0?
(I'm assuming that's way too much of a potentially-breaking change for pre-1.0.)

Digging deeper, this comment first appeared in https://github.com/samuelcolvin/pydantic/commit/5efa54d80d8a584e4c369e2ccdf30d723e54db3b, with the note "switch annotation only fields to come first in fields list not last".  It seems like they have always been separated, but before they were after optional, not before.
Based on some of the diffs I saw in that commit, I got an idea to make all my required fields non-annotation-only by adding ....
class ExampleWithOptional(pydantic.BaseModel):
    foo: List[int] = [1, 2]
    bar: int = ...

    @pydantic.validator("bar")
    def add_length_of_foo_to_bar(cls, value, values, **kwargs):
        return value + len(values["foo"])

This got it to work as well.

So, there is a workaround!  If it is not possible to get what I was originally trying to do to work, it might be nice to add to the docs that you can make it work with = ....

@dmontagu Looks like we were digging and posting at the same time!
I agree with you that I did not see that warning in the docs because it was in the mypy section, so I assumed it would be mypy only.

Happy to make the warning more explicit and move it.
To my knowledge there's no way of fixing this since annotations are a completely different object from namespace. Short of manually opening the file and reading the ast this would be impossible.

@samuelcolvin
Maybe I'm missing something, but it looks like annotations has everything, and in the proper order:
from typing import List
from pydantic import BaseModel, Schema

class ExampleNoOptional(BaseModel):
    foo: List[int] = Schema(...)
    bar: int = 1

print(ExampleNoOptional.__annotations__)
print(ExampleNoOptional.__fields__)
# {'foo': typing.List[int], 'bar': <class 'int'>}
# {'foo': <Field(foo type=int required)>, 'bar': <Field(bar type=int default=1)>}

class ExampleWithOptional(BaseModel):
    foo: List[int] = [1, 2]
    bar: int

print(ExampleWithOptional.__annotations__)
print(ExampleWithOptional.__fields__)
# {'foo': typing.List[int], 'bar': <class 'int'>}
# {'bar': <Field(bar type=int required)>, 'foo': <Field(foo type=int default=[1, 2])>}

Maybe it's a python 3.6 difference?


bug: ICE on a reverting transaction in the SDK tests

I get this error:
fuels-rs/packages/fuels/tests/test_projects/revert_transaction_error$ forc build
  Creating a new `Forc.lock` file. (Cause: lock file did not exist)
    Adding core
    Adding std git+https://github.com/fuellabs/sway?tag=v0.24.4#f7800e18979dd8e4c8d672b8e7aae1758c2edb88
   Created new lock file at fuels-rs/packages/fuels/tests/test_projects/revert_transaction_error/Forc.lock
  Compiled library "core".
  Compiled library "std".

error
 |
0 | unknown source location
 | ^^^^^^^^^^^^^^^^^^^^^^^ Internal compiler error: UnknownType { span: Span { src (ptr): 0x55eac6066890, path: None, start: 0, end: 23, as_str(): "unknown source location" } }
Please file an issue on the repository and include the code that triggered this error.
 |
____

  Aborting due to 1 error.
Error: Failed to compile revert_transaction_error

This error happens with both forc 0.24.3 and forc 0.24.4.
It does not happen on forc 0.23.0 ! :smiley_cat:
I have rustc 1.63.0 and fuels-rs 0.24.

Small reproducer:
script;

fn main() {
    asm(r1: 0) {
        rvrt r1;
    };
}

If I remove the semicolon after the asm block, the script compiles.

Cannot reproduce my original bug on forc 0.24.5

Here is where we are calculating if the asm block diverges:
https://github.com/FuelLabs/sway/blob/0d0c265e6ca6c56126d331ea469cfbe8bb5e0370/sway-core/src/semantic_analysis/ast_node/expression/typed_expression.rs#L1214
The issue is in that, from a typing perspective, it's not enough just to know if the asm block diverges---the way in which it diverges changes its return type (e.g. a revert should have different typing rules than a return, as seen in this example). I propose that in the short term we change the above LOC to exclude "rvrt". It seems that all asm blocks have the unit type anyway, so we could change it to something like this:
        let is_return = asm
            .body
            .iter()
            .any(|asm_op| matches!(asm_op.op_name.as_str(), "ret"));
        let return_type = if is_return {
            insert_type(TypeInfo::Unknown)
        } else {
            check!(
                ctx.resolve_type_with_self(
                    insert_type(asm.return_type.clone()),
                    &asm_span,
                    EnforceTypeArguments::No,
                    None
                ),
                insert_type(TypeInfo::ErrorRecovery),
                warnings,
                errors,
            )
        };

This should be enough to change all of the instances of asm blocks with rvrt to be TypeInfo::Tuple(vec!()), meaning they will type soundly regardless of if there is a semicolon or not. In the long term as our needs grow, we may want to consider a more robust solution, like adding something like TypeInfo::Revert or TypeInfo::Never to the type system. Rust has a never type on nightly: https://doc.rust-lang.org/std/primitive.never.html
I also propose that we create an issue to fix how we use this function in particular cases:
https://github.com/FuelLabs/sway/blob/0d0c265e6ca6c56126d331ea469cfbe8bb5e0370/sway-core/src/type_system/type_engine.rs#L764
we should change what is passed to the error_span argument to prevent the unknown source location message. For example, in the case of asm blocks, the error_span could be either the particular rvrt or ret, or the whole block, or just the signature, etc.

It seems that all asm blocks have the unit type anyway

asm blocks may have a different type if they actually return something (like the asm block for add for example). But regardless, I agree with your proposed solution above. I will put up a PR shortly.

asm blocks may have a different type if they actually return something (like the asm block for add for example)

asm blocks may have a different type if they actually return something (like the asm block for add for example)

Ah yeah, for some clarification, I meant that at the time that type checking hits this LOC: https://github.com/FuelLabs/sway/blob/0d0c265e6ca6c56126d331ea469cfbe8bb5e0370/sway-core/src/semantic_analysis/ast_node/expression/typed_expression.rs#L1214
It seems that the (untyped) asm.return_type is TypeInfo::Tuple(vec!()).


Remove lite recaptcha verification

note $subject
Related PRs

https://github.com/wso2/product-is/pull/14972

Tested and verified


doc:Update README.md

add extra statement to improve installation process

Hi @Archkon , thanks for PR~
We haven't seen much people stuck with torch installation and https://pytorch.org/get-started/locally/ is just the same as the one we provided (--extra-index-url)

Alright, maybe I overthought it.


events not firing ?

Hi,
I tried to use the 'end' event but it doesn't fire :+1:
$(".box").animate({
               left:'20%',
                opacity: .5,
                duration: 500,
                ease: 'ease-in-out-quad',
                delay: 100
              }).on('end', function(){
                  alert('end');
              });

What am i missing , please?
see live example:
http://jsbin.com/pawiho/1/edit?html,console,output

live example is empty?

Hm strange, anyway:
http://jsbin.com/pawiho/3/edit

In safari I get graphic glitches:
http://i.imgur.com/LafEtfh.png

@daslicht here's a working example http://jsbin.com/vejuvunoku/1 (works only when output is fullscreen), you have to add jquery.anima.js and then use it as (note the .anima())
$(".box").anima().animate({
    translate:[100, 100, 100],
    opacity: .5,
    duration: 500,
    ease: 'ease-in-out-quad',
    delay: 100
}).on('end', function(){
    alert('end');
});

Only absolute values are supported in translate. Sorry for delay, I'm sick right now.

Thank you very much !


PV issue in version 2.0.0

Hi Everyone,
I was deploying the portainer 2.0.0 on kubernetes (k3s) cluster, I was facing issue with Persistent volume allocation after deploying it on cluster. so I added some content in yaml file to figure it out, I am extremely sorry, I dont have errors/issues in details cause I was working on client`s server and not able to take information from it. I am pasting the content for reference.

#PV_portainer.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: portainer
labels:
type: local
spec:
storageClassName: local-path
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
claimRef:
namespace: default
name: portainer
hostPath:
path: "/data"

Hey @drp2595 , can you give us more details on the error you're facing? Are you able to deploy Portainer?

Hey @drp2595 , can you give us more details on the error you're facing? Are you able to deploy Portainer?

Yes, I am adding details, sorry for the inconvenience, cause server was not accessible for developers so, I requested the owner and I got the details. so, I edited the issue.

Yes, I am adding details, sorry for the inconvenience, cause server was not accessible for developers so, I requested the owner and I got the details. so, I edited the issue.

as this issue resolved, I closed it.

as this issue resolved, I closed it.


splat not in last position in function call

Hi there,
a splat that is not in the last position of a function invocation doesn't work correctly (As far as I can see).
here's an example:
$ coffee -bpe "a = []; console.log('foo', a..., 'bar')"
var a;
var __slice = Array.prototype.slice;
a = [];
console.log.apply(console, ['foo'].concat(__slice.call(a), ['bar']));
I think the last 'bar' needs to be concatenated together instead of being handed in as separate argument.

Pardon me, but did you try it?

Hm, looking at it more closely seems its compiled correctly. Dunno why it didn't work in my app? I'll try that again.


Sqlite3 hasColumn should be case insensitive

Environment
Knex version: 0.16.5
Database + version: sqlite3
OS: mac
Bug
When runing the function hasColumn on sqlite the answer is case sensitive. Meaning that test and Test are considered as two different columns.
In reality sqlite3 names are case insensitive. If you use hasColumn to check if a column exist and then create it this will cause a duplicate column error when you just change the case of one char.
Happy to make a PR if this makes sense to you guys.

Can you please explain how names are both case-insensitive but also case-sensitive during check? Does the same logic apply when using sqlite directly? We mess something up on knex side?

Sorry I wasn't clear:
The knex function  hasColumn(table, 'test') where the table has a column named Test returns false but when creating a new column with the name test sqlite complains that the testcolumn exists.
This means that sqlite is case-insensitive but the knex implementation of the hasColumn function isn't.
https://github.com/tgriesser/knex/blob/master/lib/dialects/sqlite3/schema/compiler.js#L26-L38 this implementation should lowercase both names to compare for example

@alexandrebodin But if sqlite is case-insensitive by itself, shouldn't it be irrelevant whether you are lowercasing passed parameters?

ah, ok, I see now, sorry, it's not done via SQL. PR would be most appreciated!

Exactly :) Ok will do.

Released in 0.20.2


Implement new position card design

Ticket WIP

Implement new position card design

https://www.figma.com/file/R9dygkd4HBA7PdxtE3iLis/?node-id=141%3A409


Profiles1

DO NOT MERGE

There were the following issues with your Pull Request

Commit: 3e39901dcd734168fc3296694ee4c8ba6f18dac6

Commits must be in the following format: %{type}(%{scope}): %{description}

Commit: 4ef58336ec783fccfcf4f2fe1a382d891c591040

Commits must be in the following format: %{type}(%{scope}): %{description}

Commit: 8d2ec166653b5242ea1c0493f6655ec7beba66e5

Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com

This requires @sbose78 to allow patching the contextInformation to work.

There were the following issues with your Pull Request

Commit: ac177a1d2ef78945957817c5589cb24d8ce2e448
Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/fabric8io/fabric8-ui

This message was auto-generated by https://gitcop.com


iterator: implement CleanupIterator to clean unpacked resources

Fixes #29
Design decisions
I implemented a CleanupIterator, which is basically an iterator extending InterruptibleIterator that executes some cleanup code when there is an exception (Throwable because TaskKilledException is not public :disappointed: )
Whenever a repository is fully iterated and done with (or something was thrown from inside), it's closed and its unpacked files deleted if there is nobody else using it. Otherwise, just keeps them open until the last one using them closes the repo.
I don't personally fancy much the refcount approach for this, but you still need it if you add a listener on the task context, because multiple tasks can be using the same repo. The iterator approach I felt it was cleaner than the task context one and CompletionIterator is private. Anyway, CleanupIterator is basically a CompletionIterator that cleans up when there is an exception as well.Fixes #29

@bzz you mean split the setting in two to control each one of them? Another option could be not copying the siva file if there are unpacked files already.

you mean split the setting in two to control each one of them? Another option could be not copying the siva file if there are unpacked files already.

Sounds good.

@ajnavarro which one of them?

@erizocosmico  Not copying the siva file if we already unpacked them.

Done @ajnavarro

Should we merge? @ajnavarro


Can't be pull images named hyperledger/fabric-*

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior
docker pull hyperledger/fabric-baseimage
Using default tag: latest
Please login prior to pull:
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username (849127910@qq.com): caoxie
Password:
Error response from daemon: manifest for hyperledger/fabric-baseimage:latest not found

Go to https://hub.docker.com/r/hyperledger/fabric-baseimage/tags/
Observe no latest tags were created for that image
Select a different tag in Kitematic (if one exists)
🎉  enjoy container running.

Ideally you open an issue with the repo owner to let them know how frustrating it is that they don't have a latest image tagged


docs: fix codeblock formatting

Noticed this small error where too many backticks were used.

Looks like this was already resolved through another PR


Oneof generated init?() likely doesn't work with wrong wire types

I likely broke this in doing the fix for handing of wrong wiretypes in binary decoding.
OneofGenerator generateRuntimeSupport generates the fileprivate init? for the generated enum.  If the file was proto3 syntax (and the field isn't a message), it generates a non Optional var for to decode into, and then sets the oneof after the fact.  If the wiretype was wrong, then the decode method will return without doing anything (so the value can end up in the unknown fields), but since the generate code has no idea nothing was done, it is still blindly setting the oneof to that field with the default value.  It shouldn't set the field if nothing was decoded.
My guess is this can be corrected by making the var an optional, and only doing the set if the optional gets filled in by the decoder.  That way things could still end up in the unknown fields, without forcing the oneof to become set to that field.

Reopening this, the fix takes care of not setting the value if it was the wrong wiretype, but I believe it is clearing the oneof so if it was set, the value is lost.


Valley fever

Starting Valley Fever analysis.
Demonstrates that we have access to PRISM and Valley Fever data

This looks like a great start @jukent. Thanks for pulling this together. Do you want to do the regionmask part here or in another notebook?

I think it could be in the same notebook.


Add Group By Pipe

Didn't see anything like this. I find it is useful.

Coverage remained the same at 100.0% when pulling 7a31659cf4178c43c3c0b6a082d8563d9ea06789 on NextFaze:master into 2a2c9bb688b6cac3654affd803305ab559532037 on danrevah:master.

Coverage remained the same at 100.0% when pulling 7a31659cf4178c43c3c0b6a082d8563d9ea06789 on NextFaze:master into 2a2c9bb688b6cac3654affd803305ab559532037 on danrevah:master.

Looks good .. Thanks!
I will add a documentation for it.

Added  to version #v0.5.2 with small changes in behaviour, it will now return an object that it's property will be the grouped by property.
Take a look at the readme file for more documentation, if you would like to it in an ngFor you could add an additional keys pipe to loop over it, since Angular2 doesn't support  loop over objects.

Looks good. Would it make sense to have another pipe like lodash’s toPairs?
https://github.com/lodash/lodash/blob/4.17.2/lodash.js#L1011 https://github.com/lodash/lodash/blob/4.17.2/lodash.js#L1011

On 10 Dec 2016, at 12:56 AM, Dan Revah<EMAIL_ADDRESS>wrote:
Added to version #v0.5.2 with small changes in behaviour, it will now return an object that it's property will be the grouped by property.
Take a look at the readme file for more documentation, if you would like to it in an ngFor you could add an additional keys pipe to loop over it, since Angular2 doesn't support loop over objects.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub https://github.com/danrevah/ng2-pipes/pull/8#issuecomment-266025681, or mute the thread https://github.com/notifications/unsubscribe-auth/AJCRmPkKz0bWxAXaTYNhta4uelQi8dvHks5rGWUhgaJpZM4LIzXG.

Might be a good idea yeah.
I'll try to find a time for it.

@paulussup Added some object pipes: https://github.com/danrevah/ng2-pipes#object


[pulsar-broker] retrieve stats for all persistent topics in a single call

Motivation
Currently users are required to make multiple calls to retrieve individual stats of all persistent topics.
Modifications

Get a complete list of all persistent topics
Iterate through the list to get topic's stats based on its topic reference.

Verifying this change

[ ] Make sure that the change passes the CI checks.
This change is a trivial rework / code cleanup without any test coverage.

This change is based on all existing functionalities provided by PersistentTopic and its base class.
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (yes)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (yes)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (JavaDocs)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

Closed as stale and conflict. Please rebase and resubmit the patch if it's still relevant.


RFC new Invenio module for easy building of end-user CLI applications

As part of Google Summer of Code we are considering to build a CLI tool for Zenodo as one of the possible projects (see the details HERE). Basically the Idea is to create a simple pip-installable utility for Zenodo which will allow end-users to perform simple REST actions without the reading through or understanding the REST API documentation and endpoints. Basically it's a command-line wrapper around the REST API calls.
One of the "extra" requirements of this GSoC project is to create this as a generic Invenio module, which can be configured by an overlay to easily create an overlay-specific CLI. Writing it as an overlay specific (Zenodo) utility is quite straightforward, but making it configurable, clean and generic "base" module might require some extra thoughts.
Interested student @rusrushal13 and probably many others interested in this project wanted to reach out to Invenio community to gather some more intel on:
a) Would any other service be interested in such tool for their userbase / do you have something in place already?
b) Any feedback on the idea? Any roadblocks you can see with making it generic module?

As suggested by @david-caro REST API definition using https://github.com/Kjili/swagger-research could be used for building the CLI on the fly.

@krzysztof apart from https://github.com/Kjili/swagger-research @tiborsimko also suggested simple sphinxcontrib-httpdomain so that REST API code and REST API docs would always go hand in hand https://reana-job-controller.readthedocs.io/en/latest/restapi.html , are you familiar with this, as it seems similar to the swagger.
These components could help us do in making the generic CLI module. So should I still stick to the click module or do mention these too in the proposal?


Update faq.dd

Fixing grammatical error. publically -> publicly

Not an error? http://www.thefreedictionary.com/publically

@CyberShadow Note that your link says that it is non-standard English. Perhaps I was hasty in calling it an error, but as a native English speaker I would consider it a typo given how rare publically is. I did some research and publicly is not only the more common spelling, but it is the older spelling as well, dating back to the 1500s.
Moreover, the FAQ also uses publicly elsewhere. Even if it is not an error in the most grammatical sense, it is inconsistent. I consider that sufficient grounds for changing it.


Specify binary files in .gitattributes, New Blog Post, and FAQ Discord Expired Link Resolved

new file:   .gitattributes
If you want to prevent Git from automatically modifying the line endings of binary files (such as .jpg and .webp), you can configure Git to treat those files as binary files. By doing this, Git won't attempt to perform line ending conversions on these files, and they will be left untouched in their original binary format.
@eriknewland please review and ping me for questions. After this is successfully merged I'll submit the FAQ Discord Expired Link and New Blog Post with image.
07/25/23 Added FAQ Discord Expired Link and New blog post with image

lets review this over discord before we merge just to double check

Looks great and walked through everything with bitcoindad


Feature request:  transposition / caesar box ciphers

Is your feature request related to a problem? Please describe.
There are no  transposition ciphers available to work with, unlike dcode.fr which does.
Describe the solution you'd like
To be able to decode caesar box /  transposition ciphers.
Describe alternatives you've considered
https://www.dcode.fr/caesar-box-cipher
Additional context
This code is unsolvable on cyberchef:
yvheu vayen snioi ersor sletd nuccs ilill vaeef tltsv nikes avoia hneag nriti omsee dshog chzlt smvii twoii zyoio enaln ilsio ocsra byini onunb tglul saani felfe atetg ntxeo uatno shawh xlfnm idnsi ihexl tdonw lwsne lx
Thanks!

Went to CyberChef to look for Caesar cipher encode/decode. Walked away sadly.

Caesar cipher is the same as the ROT-13 operation.

On 4 Mar 2021, at 18:53, Paul Masek<EMAIL_ADDRESS>wrote:

Went to CyberChef to look for Caesar cipher encode/decode. Walked away sadly.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

It encompasses other rotations as well. Such as only rotating 1 character.

Yes, if you tried the operation you would see that you can choose in the range 1-26

On 4 Mar 2021, at 19:01, Paul Masek<EMAIL_ADDRESS>wrote:

It encompasses other rotations as well. Such as only rotating 1 character.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Okay, thanks. Seems like it's inappropriately named then.

At least we'll avoid this situation now https://xkcd.com/979/

If you search for "caesar" in the operation search box, you'll see a few operations that might solve the problem for you. ROT13 is one (and if you hover over and read the description you'll see that the shift amount can be configured).
Another is the Substitute operation, which allows you to specify a full alphabet of substitutions. This means you aren't restricted to keeping the alphabet in order.

Reopening since this is not the same as a Caesar Box Cipher


Graph changes for quadratic voting

Working nicely now and rich data available for each iteration. Each iteration has a list of all the individual votes cast in that iteration, as well as all the vote tallies for that iteration :)

This is still an issue. Not sure why exactly it is picking it up as null. We only use
export let VOTES_MANAGER_ENTITY_ID = "VOTE_MANAGER";
To create and load the vote manager. Must be something I am missing

@moose-code you didn't rebase off master (or alturnatively merge master into this branch - rebasing is just cleaner)... This code is stale, for example it is causing issues because it still uses wildcardChange instead of wildcardChanges. First thing you do when you pickup working on some old code is check if it is up to date with master.

https://github.com/wildcards-world/subgraph/pull/18#issuecomment-626132309
For the above, the error message explains it well. currentIteration is undefined (and quite a few other required parameters).
See the below works:

@moose-code I've pushed the code that I rebased to master with


Fixing SEO: Site-maps FE (Should)

BE - sitemap.xml is generated by command line tool (BE)
Process improvement for every release (Prashant)

@mbdebian and @carcruz to review the relevant in a couple of month.


Fix links to the Governance page.

Two more pieces of fallout from the revamp.
Signed-off-by: Chris Lalancette<EMAIL_ADDRESS>

christophebedard approved these changes

Thanks for being so quick with these reviews, it is really helpful!


[FEATURE] Provide Hive JDBC Dialect support for Spark/PySpark to connect Kyuubi via JDBC Source

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the feature
Currently, it is not able to read data correctly from Kyuubi as JDBC Dataframe with either KyuubiHiveDriver or HiveDriver.
As Hive JDBC Dialect is not provided in Spark, Spark will force JdbcRDD to use default JDBC dialect which is quoting column name wrapping in column name to 'col_name' instead of Hive style `col_name`. It causes two major unexpected situations:

if all the columns of table are in string type, all row data is identical to their column name.
if any column has number type, it will failed to convert value to number type with wrong data (the column name).

Motivation
No response
Describe the solution
Introduce a spark plugin,

providing Hive JDBC Dialet for jdbc url starting with jdbc:kyuubi:// or jdbc:hive2:// , with quoting column names in Hive style as `col_name`
registing Hive JDBC Dialet  by  executing JdbcDialects.registerDialect

Additional context
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

I found this hope it can help you. https://medium.com/@viirya/custom-jdbc-dialect-for-hive-5dbb694cc2bd

Yes, likely the same way. And I have draft implementation in hand. My intention is to provide a general client side plugin for both Spark scala user and PySpark.

Many thanks to my colleague @jeanlyn from Guangfa Secirities for the detailed investigation in Spark and indispensible help for practicable solution to this problem.

Thanks, @bowenliang123 @jeanlyn @wForget!


Update instructions.md

Make AddItem and RemoveItem match tests

@lnds thanks for your contribution. This was superseded by a bigger fix in #1538.


Testworld test

Issue Link:

@manuelpolzhofer @charleenfei you can copy over changes in this pr to your pr to check if these fixes your build problems.


windows: causes doesn't automagically elevate

sorry -- copy/paste from terminal didn't workout from virtualbox for some reason

IMHO it should have worked -- anything we could do?

@yarikoptic I was under the impression that the given command should work without elevation.  If it requires it, I can make the command run always elevated.

can on windows we have some generic (for this and other commands as we encounter) helper, e.g. run_maybe_elevated: run without elevation, if WinError 740 -- elevate (with all the --sudo option logic)?


cmd/compile: msan cannot handle structs with padding

What version of Go are you using (go version)?
go version devel +0dc814c Sat Jun 30 01:04:30 2018 +0000 linux/amd64
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
linux/amd64
What did you do?
Attempted to dereference a C struct with padding from Go with the memory sanitizer enabled:
// msan.go

package main

/*
#include <stdlib.h>

struct s {
 	int i;
	char c;
};

struct s* mks(void) {
	struct s* s = malloc(sizeof(struct s));
	s->i = 0xdeadbeef;
	s->c = 'n';
	return s;
}
*/
import "C"
import "fmt"

func main() {
	s := *C.mks()
	fmt.Println(s.c)
}

I compiled with:
CC=clang-6.0 CXX=clang++-6.0 go build -msan -o msan msan.go

Upon execution, msan crashes spuriously:
~/go1.10/misc/cgo/testsanitizers/src/foo$ ./msan
Uninitialized bytes in __msan_check_mem_is_initialized at offset 5 inside [0x701000000000, 8)
==21637==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x4e8b08  (/home/benesch/go1.10/misc/cgo/testsanitizers/src/foo/msan+0x4e8b08)

SUMMARY: MemorySanitizer: use-of-uninitialized-value (/home/benesch/go1.10/misc/cgo/testsanitizers/src/foo/msan+0x4e8b08)
Exiting

The problem appears to be that the Go instrumentation is coarser than the C instrumentation. Only bytes 0-5 are marked as initialized by C (bytes 6-8 are padding), but Go asks msan to verify that all 8 bytes are initialized when it stores s.
In this particular example, there are two easy ways to soothe msan. The first is to remove the padding from the struct (e.g., struct s { int i; int c }). The second is to access fields within the struct without storing it into a temporary (e.g., fmt.Println(C.mks().c)). Neither of these "workarounds" are viable for real programs.

Well, this patch makes the test pass but causes a slew of problems on real programs:
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -600,7 +600,13 @@ func (s *state) instrument(t *types.Type, addr *ssa.Value, wr bool) {
        var fn *obj.LSym
        needWidth := false

-       if flag_msan {
+       if flag_msan && t.Etype == TSTRUCT {
+               for _, f := range t.FieldSlice() {
+                       addr = s.newValue1I(ssa.OpOffPtr, types.NewPtr(t), f.Offset, addr)
+                       s.instrument(f.Type, addr, wr)
+               }
+               return
+       } else if flag_msan {
                fn = msanread
                if wr {
                        fn = msanwrite

Hmm.

Yep. Just verified that it happens with go1.10.3. Given that this case isn't tested by any of the sample programs in misc/cgo/testsanitizers I wouldn't be surprised if it's been broken since msan support was introduced.

Oh boy. This doesn't seem particularly easy to fix. LLVM's msan transformation (https://github.com/llvm-mirror/llvm/blob/6fed3d8070003bd65e0af3b70aaa04f7ca12260e/lib/Transforms/Instrumentation/MemorySanitizer.cpp#L1431) is more nuanced than gc's. Specifically, LLVM doesn't consider a load or a store of uninitialized memory to be problematic. It's what you do afterwards that counts.

Perhaps we could modify gc to only call msanread/msanwrite for non-padding bytes when copying struct types.

Yeah, I’m looking at that now. I have a refined version of the above patch
that both passes the tests and doesn’t crash CockroachDB immediately. If
you happen to have a sec: how do I determine if a field in a struct is
padding? Right now I’m checking if Type.Fields.Sym == nil but I must be
missing a better way. I haven’t been able to track down yet where in the
compiler these padding fields are added.
On Sun, Jul 1, 2018 at 5:15 PM Ian Lance Taylor<EMAIL_ADDRESS>wrote:

Perhaps we could modify gc to only call msanread/msanwrite for non-padding
bytes when copying struct types.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/26167#issuecomment-401633621, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA15IFeAh1z8I14yPNrEREt9q6JUvpkzks5uCTvogaJpZM4U-Owy
.

Sorry, I didn't even know the compiler added padding fields at all.  In widstruct in cmd/compile/internal/gc/align.go it just sets offsets based on alignment, implicitly adding padding.

Oh! Perhaps it's cmd/cgo that's to blame. Thanks. I'll keep digging.

Ah, yes, cmd/cgo does add padding fields to the Go version of C structs in (*typeconv).pad in cmd/cgo/gcc.go.

Ok, great. Excluding the blank identifiers that cmd/cgo writes from msan instrumentation lets Cockroach get even further in boot.
In other news, I've stumbled across an edge case that I'm not sure what to make of. Consider a program that uses an ostensibly-initialized C struct as a Go map key:
// msan.go

package main

/*
#include <stdlib.h>

struct s {
 	int i;
	char c;
};

struct s* mks(void) {
	struct s* s = malloc(sizeof(struct s));
	s->i = 0xdeadbeef;
	s->c = 'n';
	return s;
}
*/
import "C"

func main() {
	m := map[C.struct_s]struct{}{}
	m[*C.mks()] = struct{}{}
}

Go will read the uninitialized padding bytes to hash the struct for the map key. Yikes! Though perhaps a valid answer here is "don't do that."

I’m AFK but I believe Syms have an IsBlank method.

Go will read the uninitialized padding bytes to hash the struct for the map key.

The autogenerated hash and eq functions should ignore blank fields in structs. If they don’t, it’s a bug.

The autogenerated hash and eq functions should ignore blank fields in structs. If they don’t, it’s a bug.

Ah. Then perhaps mapassign and friends are simply reporting too coarsely to msan. Maybe here:
https://github.com/golang/go/blob/28f9b880f6e9f95c61b31b6e0a7ac458cb6a0e0c/src/runtime/map.go#L447

I’m AFK but I believe Syms have an IsBlank method.

Yep, thanks. I've included the patch I've been experimenting with below. (I'm sure there's somewhere better to put this code.)
diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go
index ff2b93d..234954d 100644
--- a/src/cmd/compile/internal/gc/ssa.go
+++ b/src/cmd/compile/internal/gc/ssa.go
@@ -600,6 +600,16 @@ func (s *state) instrument(t *types.Type, addr *ssa.Value, wr bool) {
        var fn *obj.LSym
        needWidth := false

+       if flag_msan && t.IsStruct() {
+               for _, f := range t.FieldSlice() {
+                       if !f.Sym.IsBlank() {
+                               faddr := s.newValue1I(ssa.OpOffPtr, f.Type.PtrTo(), f.Offset, addr)
+                               s.instrument(f.Type, faddr, wr)
+                       }
+               }
+               return
+       }
+
        if flag_msan {
                fn = msanread
                if wr {

Then perhaps mapassign and friends are simply reporting too coarsely to msan

Looks like it. Perhaps there should be an msanreadtype that takes in type information and uses it to avoid reading blank fields.
Also, not that it matters for this conversation, but it appears to me (on my phone) that the msanread call there could be moved inside the “if map is nil” return path. Might improve perf.
The ideal way to share a patch is gerrit. Or a PR (which gets imported to gerrit).

Looks like it. Perhaps there should be an msanreadtype that takes in type information and uses it to avoid reading blank fields.

Yep, definitely an option. Or the calls to msanread could be moved closer to the actual memory reads in the hash functions.

I believe the msanread call is there only to handle the case in which we don’t call the hash function, which should have its own instrumentation.


Use only logging for output to avoid unwanted such on stdout

There are two functions in the client module that output explicitly
to stdout instead of using the provided loggers. Some remote sessions
could break down because of some of this output and there isn't any
easy way to prevent the output from being emitted. As the client module
already makes full use of the logging levels and filters let's make
the following code respect that too.

thanks, ✨ 🍰 ✨


Change sprite of happy bed/double bed to that of luxury bed

Related Issues
Close #962.

Thank you for fixing.


Test case failures in Python 3.8

There are some test failures in CPython master and also 3.8 beta 1. I guess the CI could be using an older version of 3.8. I tried some bisecting and on reverting changes made in https://bugs.python.org/issue36996 some cases are fixed. Recently unittest.mock.patch has support added for async functions to be mocked. I am not sure if asynctest tests needs to be changed  or if there is a regression due to the linked CPython issue. I have filed DeprecationWarnings in Python 3.8 under #126 since it's of low priority. Test run log as below.
Thanks for asynctest that helped in AsyncMock design :)
python -Wignore -m unittest test
......................................F..E..................................................................................................................................................................................
======================================================================
ERROR: test_create_autospec_on_coroutine_and_using_assert_methods (test.test_mock.Test_CoroutineMock_awaited)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/karthi/asynctest/asynctest/case.py", line 297, in run
    self._run_test_method(testMethod)
  File "/home/karthi/asynctest/asynctest/case.py", line 354, in _run_test_method
    self.loop.run_until_complete(result)
  File "/home/karthi/asynctest/asynctest/case.py", line 224, in wrapper
    return method(*args, **kwargs)
  File "/home/karthi/cpython/Lib/asyncio/base_events.py", line 608, in run_until_complete
    return future.result()
  File "/home/karthi/asynctest/test/test_mock.py", line 776, in test_create_autospec_on_coroutine_and_using_assert_methods
    yield from mock("arg0", "arg1", "arg2")
TypeError: cannot 'yield from' a coroutine object in a non-coroutine generator

======================================================================
FAIL: test_awaited_from_autospec_mock (test.test_mock.Test_CoroutineMock_awaited)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/karthi/asynctest/asynctest/case.py", line 297, in run
    self._run_test_method(testMethod)
  File "/home/karthi/asynctest/asynctest/case.py", line 354, in _run_test_method
    self.loop.run_until_complete(result)
  File "/home/karthi/asynctest/asynctest/case.py", line 224, in wrapper
    return method(*args, **kwargs)
  File "/home/karthi/cpython/Lib/asyncio/base_events.py", line 608, in run_until_complete
    return future.result()
  File "/home/karthi/asynctest/test/test_mock.py", line 571, in test_awaited_from_autospec_mock
    self.assertFalse(mock.a_coroutine.awaited)
AssertionError: <unittest.mock._AwaitEvent object at 0x7f58e9e5e3c0> is not false

======================================================================
FAIL: test_patch_coroutine_with_multiple_scopes (test.test_mock.Test_patch_decorator_coroutine_or_generator_scope) [new style coroutine - Outer: GLOBAL, inner: LIMITED]
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/karthi/asynctest/test/test_mock.py", line 1800, in test_patch_coroutine_with_multiple_scopes
    run_coroutine(tester(a_native_coroutine))
  File "/home/karthi/asynctest/test/utils.py", line 9, in run_coroutine
    return loop.run_until_complete(coroutine)
  File "/home/karthi/cpython/Lib/asyncio/base_events.py", line 608, in run_until_complete
    return future.result()
  File "/home/karthi/asynctest/test/test_mock.py", line 1764, in tester
    self.assertEqual((True, False), fut.result())
AssertionError: Tuples differ: (True, False) != (True, True)

First differing element 1:
False
True

- (True, False)
+ (True, True)

======================================================================
FAIL: test_patch_coroutine_with_multiple_scopes (test.test_mock.Test_patch_decorator_coroutine_or_generator_scope) [new style coroutine - Outer: LIMITED, inner: GLOBAL]
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/karthi/asynctest/test/test_mock.py", line 1811, in test_patch_coroutine_with_multiple_scopes
    run_coroutine(tester(a_native_coroutine))
  File "/home/karthi/asynctest/test/utils.py", line 9, in run_coroutine
    return loop.run_until_complete(coroutine)
  File "/home/karthi/cpython/Lib/asyncio/base_events.py", line 608, in run_until_complete
    return future.result()
  File "/home/karthi/asynctest/test/test_mock.py", line 1764, in tester
    self.assertEqual((True, False), fut.result())
AssertionError: Tuples differ: (True, False) != (True, True)

First differing element 1:
False
True

- (True, False)
+ (True, True)

======================================================================
FAIL: test_multiple_patches_on_coroutine (test.test_mock.Test_patch_decorator_coroutine_or_generator_scope_LIMITED) [new style coroutine]
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/karthi/asynctest/test/test_mock.py", line 2088, in test_multiple_patches_on_coroutine
    run_coroutine(tester(a_native_coroutine))
  File "/home/karthi/asynctest/test/utils.py", line 9, in run_coroutine
    return loop.run_until_complete(coroutine)
  File "/home/karthi/cpython/Lib/asyncio/base_events.py", line 608, in run_until_complete
    return future.result()
  File "/home/karthi/asynctest/test/test_mock.py", line 2063, in tester
    self.assertEqual((False, False), fut.result())
AssertionError: Tuples differ: (False, False) != (True, True)

First differing element 0:
False
True

- (False, False)
+ (True, True)

======================================================================
FAIL: test_patch_coroutine_only_when_running (test.test_mock.Test_patch_decorator_coroutine_or_generator_scope_LIMITED) [new style coroutine]
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/karthi/asynctest/test/test_mock.py", line 2036, in test_patch_coroutine_only_when_running
    run_coroutine(tester(a_native_coroutine))
  File "/home/karthi/asynctest/test/utils.py", line 9, in run_coroutine
    return loop.run_until_complete(coroutine)
  File "/home/karthi/cpython/Lib/asyncio/base_events.py", line 608, in run_until_complete
    return future.result()
  File "/home/karthi/asynctest/test/test_mock.py", line 2015, in tester
    self.assertFalse(fut.result())
AssertionError: True is not false

----------------------------------------------------------------------
Ran 223 tests in 1.293s

FAILED (failures=5, errors=1)

Any progress here? Fedora 32 is going to ship with Python 3.8 and it'd be great to have a package that passes all tests by Beta Freeze latest (late February 2020).

Ping. Is this package alive?

Since AsyncMock landed in Python 3.8, people should use AsyncMock and .
AsyncMock breaks asynctest in ways that make it hard to fix correctly, and
I have time/resources to spend on this package.
Maybe we can just remove code related to old-style coroutines and fix most
issues, but I can't promise when this will be done.
Le lun. 27 avr. 2020 à 08:34, Michał Górny<EMAIL_ADDRESS>a
écrit :

Ping. Is this package alive?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Martiusweb/asynctest/issues/132#issuecomment-619759428,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABPWGGCA33XODC2UVNHIBTROURPLANCNFSM4H4K2RIA
.

--
Martin http://www.martiusweb.net Richard
www.martiusweb.net


how to run a jasmine test using spectron and selenium webdriver

Please advise that what command i need to give in order to run the below code. I want to start the app and do the jasmine test
test.js
const webdriver = require('selenium-webdriver');
const Application = require('spectron').Application;
var assert = require('assert');
const driver = new webdriver.Builder()
// The "9515" is the port opened by chrome driver.
.usingServer('http://<IP_ADDRESS>:9515')
.withCapabilities({
chromeOptions: {
// Here is the path to your Electron binary.
binary: "path to application/node_modules/electron-prebuilt/dist/Electron.app/Contents/MacOS/Electron"
    }
  })
  .forBrowser('electron')
  .build()

describe('Application Launch',function(){
var app = new Application({
path:"path to application/target/dist/xxx/Contents/MacOS/exe",
args:['dev=true']
});
      app.start();
it('Opens a window',function(){

driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver')
driver.findElement(webdriver.By.name('btnG')).click()

});

});

I have the same doubt, someone to help?

The command is node test.js
I took my question following this tutorial of the webdriverio


Add filters for activity/transaction levels in QB

Flow type
Finance type
Aid type
Tied status
Currency , and
Humanitarian flag

ETA 1/4 DAY - NEEDS CLEARANCE

Approved to be worked on

Thanks, looking at filters, it looks like aid-type and finance type are missing. See below:

@amy-silcock what was the final result here?  Was the above comment addressed and did we test and approve?

This has been tested in live, working as expected!
When you choose these activity level filters, simultaneous activity and transaction level filtering happens.


Image sizes in the carousel is not equal

Describe the bug
The cat image size in the carousel is not equal, some photos have oval corners some don't.
To Reproduce
Steps to reproduce the behavior:

Go to 'Cat Page'
Click on 'the number buttons on the carousel nav.'
See the error

Expected behavior
All the photos should have equal size and equal style.
Screenshots

Desktop (please complete the following information):

OS: macOS
Browser Chrome
Version 106.0.5249.119

Additional context
I can fix this issue. Please assign it to me.

This issue had been for couple of days, I worked on it @redxzeta :) Please take a look #496

@redxzeta i want to work on this issue can you assign it to me


Start-Transcript might silently delete the output file

If Start-Transcript is ran without -Append and a user has write privileges on the file without write privileges on the parent folder, the file will be silently deleted without any kind of error message.
Steps to reproduce
As administrator create a folder and file with the privileges specified above. I'm assuming that a local user, "myuser" exist:
mkdir "c:\test\"
icacls.exe "c:\test" "/grant" "builtin\administrators:(CI)(OI)(F)" "/inheritance:r"
icacls.exe "c:\test" "/grant" "myuser:(CI)(OI)(RX)"
"" | Out-File -Encoding "ascii" -LiteralPath "c:\test\my-transcript.txt"
icacls.exe "c:\test\my-transcript.txt" "/grant:r" "myuser:(F)"

Run Start-Transcript as "myuser":
Start-Transcript -LiteralPath "c:\test\my-transcript.txt"
Stop-Transcript

Expected behavior
The transcript should be written to c:\test\my-transcript.txt
Actual behavior
The output states success, but the file is actually deleted.

PS C:> Start-Transcript -LiteralPath "c:\test\my-transcript.txt"
Transcript started, output file is c:\test\my-transcript.txt
PS C:> Stop-Transcript
Transcript stopped, output file is C:\test\my-transcript.txt
PS C:> Test-Path "c:\test\my-transcript.txt"
False

Environment data
Not the newest PowerShell ...

PS C:> $PSVersionTable
Name                           Value

PSVersion                      5.1.14393.1358
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.1358
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

... but you can clearly see the error in line 230 of StartTranscriptCmdlet.cs :
https://github.com/PowerShell/PowerShell/blob/02b5f357a20e6dee9f8e60e3adb9025be3c94490/src/Microsoft.PowerShell.ConsoleHost/host/msh/StartTranscriptCmdlet.cs#L230
// If they didn't specify -Append, delete the file
if (!_shouldAppend)
{
	System.IO.File.Delete(effectiveFilePath);
}

This part of the code should rather write some sort of zero length content to the file.

@paalbra are you able to reproduce this on a verison of powershell-core?  That line is correct - if the file exists, and the user hasn't said -Append (after some other conditions) - then delete the file before starting any of the real logic.   That wipes it out as expected.
And fwiw, works for me on:
Name                           Value
----                           -----
PSVersion                      6.0.0-beta
PSEdition                      Core
GitCommitId                    v6.0.0-beta.7
OS                             Darwin 17.2.0 Darwin Kernel Version 17.2.0: Sun Oct  1 00:46:50 PDT 2017; root:xnu-4570.20.62~10/RELEASE_X86_64
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

With beta.8, following the repro steps, it does delete the file if -Append is not used, as expected.  However, the transcript file does exist including a bunch of header information as well as the stop-transcript command.

@SteveL-MSFT I just ran through the repro steps and the issue is still present in beta.8 (with some changes).
Did you follow my steps all the way? What account did you use? The account I'm referring to as "myuser" should be an unprivileged account. The account doing the file access setup should be privileged (e.g. an administrator).
@charlieschmidt You should not be able to do that. I believe you might have missed some of the file ACL setup as well?
The ACLs should become the following after setup:
PS C:\Program Files\PowerShell\6.0.0-beta.8> icacls C:\test
C:\test DESKTOP-IGCDSJ7\myuser:(OI)(CI)(RX)
        BUILTIN\Administrators:(OI)(CI)(F)

Successfully processed 1 files; Failed processing 0 files
PS C:\Program Files\PowerShell\6.0.0-beta.8> icacls C:\test\my-transcript.txt
C:\test\my-transcript.txt DESKTOP-IGCDSJ7\myuser:(F)
                          DESKTOP-IGCDSJ7\myuser:(I)(RX)
                          BUILTIN\Administrators:(I)(F)

Successfully processed 1 files; Failed processing 0 files

When you start a transcript as "myuser" you now get the following in beta.8:
PS C:\Program Files\PowerShell\6.0.0-beta.8> Start-Transcript -LiteralPath "c:\test\my-transcript.txt"
Start-Transcript : Transcription cannot be started due to the error: Access to the path 'C:\test\my-transcript.txt' is
denied.
At line:1 char:1
+ Start-Transcript -LiteralPath "c:\test\my-transcript.txt"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Start-Transcript], PSInvalidOperationException
    + FullyQualifiedErrorId : CannotStartTranscription,Microsoft.PowerShell.Commands.StartTranscriptCommand

PS C:\Program Files\PowerShell\6.0.0-beta.8> Get-ChildItem -Force C:\test\
PS C:\Program Files\PowerShell\6.0.0-beta.8>

There was no error before. So the silent part of my first reported issue is no longer the case.
While it properly emits an error now there is still an issue that should be addressed. Start-Transcript should not delete the file. It should rather wipe the content of the file.
Version
PS C:\Program Files\PowerShell\6.0.0-beta.8> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.0-beta.8
PSEdition                      Core
GitCommitId                    v6.0.0-beta.8
OS                             Microsoft Windows 10.0.15063
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

You could also reproduce this as an issue on Ubuntu. Since this is a different OS/filesystem the issue isn't completely the same. What happens on Ubuntu is that you won't be able to delete the file since this requires write permissions on the parent directory. This also wouldn't be an issue if Start-Transcript didn't try to delete the file.
myuser@ubuntu:~$ sudo mkdir /test
myuser@ubuntu:~$ sudo touch /test/my-transcript.txt
myuser@ubuntu:~$ sudo chmod a+w /test/my-transcript.txt
myuser@ubuntu:~$ ls -la /test
total 8
drwxr-xr-x  2 root root 4096 okt.  26 22:34 .
drwxr-xr-x 25 root root 4096 okt.  26 22:34 ..
-rw-rw-rw-  1 root root    0 okt.  26 22:34 my-transcript.txt
myuser@ubuntu:~$ pwsh
PowerShell 6.1.0
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /home/myuser> Start-Transcript -LiteralPath "/test/my-transcript.txt"
Start-Transcript : Transcription cannot be started due to the error: Access to the path '/test/my-transcript.txt' is denied.
At line:1 char:1
+ Start-Transcript -LiteralPath "/test/my-transcript.txt"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [Start-Transcript], PSInvalidOperationException
+ FullyQualifiedErrorId : CannotStartTranscription,Microsoft.PowerShell.Commands.StartTranscriptCommand

PS /home/myuser> Stop-Transcript
Stop-Transcript : An error occurred stopping transcription: The host is not currently transcribing.
At line:1 char:1
+ Stop-Transcript
+ ~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [Stop-Transcript], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.StopTranscriptCommand

PS /home/myuser> Get-ChildItem /test/

    Directory: /test

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
------         10/26/18  10:34 PM              0 my-transcript.txt

PS /home/myuser> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.1.0
PSEdition                      Core
GitCommitId                    6.1.0
OS                             Linux 4.15.0-38-generic #41-Ubuntu SMP Wed Oct 10 10:59:38 UTC 2018
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0


Type resolution for ESM modules is broken

Describe the bug
Using module imports with TS 5.1.6 leads to the following errors:
src/components/Token.tsx:6:24 - error TS7016: Could not find a declaration file for module 'beautiful-react-hooks/useUnmount'. '[...]/node_modules/beautiful-react-hooks/esm/useUnmount.js' implicitly has an 'any' type.
  There are types at '[...]/node_modules/beautiful-react-hooks/useUnmount.d.ts', but this result could not be resolved when respecting package.json "exports". The 'beautiful-react-hooks' library may need to update its package.json or typings.

To Reproduce

Create a ts file and import any hook as described in the README.md
Try compiling the file using tsc
Get the error above

Expected behavior
The import finds the right types
Additional context
This error happens because the package json specifies "./esm" as folder to import the module from but that folder does not contain the corresponding types. Refer to Are the types wrong?
I am preparing a PR with a fix

@phikes thank you for highlighting this, yes this is definitely something that needs to be fixed asap
please feel free to contribute if you're willing to

No worries, my pleasure. I opened a PR and linked it to this issue: #417

Work around until it's merged.
// @ts-ignore
import useLocalStorage from 'beautiful-react-hooks/useLocalStorage'

@taro-ishihara @phikes
this should have been solved guys, please let me know so I can close the issue

Works! Thank you!


avoid fork-wait deadlock during cold start

during a cold start, when the indexer is not yet caught up to the current block, a sim fork at block B must wait for the indexer to catch up to block B
during cold start blocks are not read one-by-one, but in large range chunks
the check to release the indexer fork-wait lock did not account for the range, and was only checking the exact latest block number in the range, causing it to deadlock if the block was in the middle of the range

Does this need a corresponding pr for ds to use SEQUENCER_MINE_EMPTY param?

Does this need a corresponding pr for ds to use SEQUENCER_MINE_EMPTY param?

default is "true" (so same as it is currently) so no config change required for local dev.... but will probably add it to the local dev config anyway for clarity when we pin ds to this version and update the github actions deployment


Update ReadMe file to include local Boutique usage

Rafiki Boutique is a public github code, we need to make sure the Interledger community can run local instance without problems.

Blocker:

#749


Viewing in iOS Safari shows old version

Is this a bug report?
I am not so sure. I guess it's a problem with how I want the service worker to work.
Steps to Reproduce

Visit website in iOS Safari
Deploy a new version
Visit website in iOS Safari and see old cached version
Refresh page
Still see old cached version

Expected Behavior
I would expect to refresh and see the new version.
Actual Behavior
Refreshing the page will persist with the previous cached version.

Please make sure you set the caching headers correctly on service-worker.js. Does this persist in private browsing mode?


Next 13.4.13 breaks the theme provider

There seems to be some clash with lucide-react and the Next.js 13.4.13 if I disable all lucid-react icons it works, else I get the following error when I try to run Next.js 13.4.13 with the shadcn theme provider.
./node_modules/lucide-react/dist/cjs/lucide-react.js:2:0
Module not found: Can't resolve '/Users/wolf/Documents/Development/Education/tauri/test/node_modules/lucide-react/dist/cjs/icons/check'
https://nextjs.org/docs/messages/module-not-found
package.json:
{
"name": "test",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"dependencies": {
"@radix-ui/react-dropdown-menu": "^2.0.5",
"@radix-ui/react-slot": "^1.0.2",
"@types/node": "20.5.0",
"@types/react": "18.2.20",
"@types/react-dom": "18.2.7",
"autoprefixer": "10.4.15",
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"eslint": "8.47.0",
"eslint-config-next": "13.4.13",
"lucide-react": "^0.267.0",
"next": "13.4.13",
"next-themes": "^0.2.1",
"postcss": "8.4.27",
"react": "18.2.0",
"react-dom": "18.2.0",
"tailwind-merge": "^1.14.0",
"tailwindcss": "3.3.3",
"tailwindcss-animate": "^1.0.6",
"typescript": "5.1.6"
}
}

Yes is an issue with newer versions of Lucid icons and latest NextJs releases, check the issue here: [https://github.com/lucide-icons/lucide/issues/1482](issue url),  you can update to the latest nextjs canary release or downgrade to lucide-react version 0.263.1 for now

thanks @fernandobouchet

Yes it is true. @fernandobouchet

Yes, infact is is an issue. I was able to fix it with @wits/next-themes package instead of next-themes. You can check it in my project at: https://github.com/developbharat/DevelopBharatWebsite

This is not an issue with shadcn-ui rather it's an issue with next-themes package

Hope this helps everyone.

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


As a user, I can add contacts to InterNUS

so that I can keep track of the details of the contact person for internships.

Already implemented in AB3 and the functionality is unchanged other than deleting address and changing command word from add to addp.


Added moduleId to the datepicker component

WIthout moduleId, template would not be loaded correctly..
Please, take this PR and release a new version quickly.
A part of this, thanks you a lot for this component !

Hi @edimitchel, its working fine for me without moduleId. How do you mean template would not be loaded?

I got an issue without this. It was thrown when I use the date picker in my project using SystemJS.
I just see a fork of your repo that modification was made: https://github.com/NightImmunity/ng2-datepicker/blob/master/src/components/ng2-datepicker.ts#L24

okay, lets get this in then.

Can you publish the new version on NPM ?

I am sorry but it doesn't get compiled in my case. I guess I'll need to revert it.

Hum.. I think you miss this in tsconfig.json:
{
    ...
    "module": "commonjs",
    ...
}

I guess so, since nobody was complaining about this issue so far I think it's not necessary.

I think the best option for SystemJS would be to build own version with sytemjs-builder.

I not agree with you..
In the same fork repo, I found that module attribute is added in tsconfig:
https://github.com/NightImmunity/ng2-datepicker/blob/master/tsconfig.json#L8

can you try installing package with npm install NightImmunity/ng2-datepicker --save please?

I can but this fork was very different of your repo.. The owner of the fork adds bootstrap that I doesn't want..

I am not really sure, but I have commonjs setted in my tsconfig.json. VSCode does underline moduleId: module.id even before I try to compile. Maybe its the tslint.json, are you sure this is still valid?

My friend, next, my tsconfig.json : (note the exclude attribute)
{
  "compileOnSave": false,
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "noImplicitAny": false,
    "noEmitOnError": false,
    "removeComments": true,
    "target": "es5"
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}

okay, can you please provide another PR with this configuration included? I will accept it and make a publish to npm right away.


evdi driver not working with USB3 to VGA Adapter on Yocto 24.0-release (kirkstone)

Are you using the latest driver? Yes.
Are you using the latest EVDI version? Yes.
If you are using a DisplayLink device, have you checked 'troubleshooting' on DisplayLink's website? Yes.
Is this issue related to evdi/kernel?  Yes
Linux distribution and its version: Yocto 24.0-release (kirkstone)
Linux kernel version: 5.15.47
Xorg version (if used): no Im using Wayland
Desktop environment in use: Weston
have checked:
 zcat /proc/config.gz  | grep -i udl
CONFIG_DRM_UDL=y
CONFIG_FB_UDL=y

So Im using DisplayLink UVG2
Bus 001 Device 005: ID 17e9:4301 DisplayLink UVG2
try to show VGA output on the monitor
after
insmod /lib/modules/5.15.47-mtk+modified/kernel/drivers/gpu/drm/evdi/evdi.ko
and replug DisplayLink UVG2`
insmod /lib/modules/5.15.47-mtk+modified/kernel/drivers/gpu/drm/evdi/evdi.ko
root@genio-510-evk:~# dmesg | tail -n 10

[   95.230524] evdi: [I] Initialising logging on level 4
[   95.230547] evdi: [I] Atomic driver: yes
[  166.796276] usb 1-1.3: USB disconnect, device number 3
[  170.285963] usb 1-1.3: new high-speed USB device number 4 using xhci-mtk
[  170.416845] usb 1-1.3: Warning! Unlikely big volume range (=511), cval->res is probably wrong.
[  170.416868] usb 1-1.3: [13] FU [UVG2 Audio Playback Volume] ch = 2, val = -8176/0/16

it seems like nothing happened
so I tried
root@genio-510-evk:/sys/devices/evdi# echo 6 > loglevel
root@genio-510-evk:/sys/devices/evdi# echo 1 > count
-sh: count: Permission denied
root@genio-510-evk:/sys/devices/evdi# echo 1 > add
root@genio-510-evk:/sys/devices/evdi# cat count
1

root@genio-510-evk:/sys/devices/evdi# dmesg | tail -n 25
[  166.796276] usb 1-1.3: USB disconnect, device number 3
[  170.285963] usb 1-1.3: new high-speed USB device number 4 using xhci-mtk
[  170.416845] usb 1-1.3: Warning! Unlikely big volume range (=511), cval->res is probably wrong.
[  170.416868] usb 1-1.3: [13] FU [UVG2 Audio Playback Volume] ch = 2, val = -8176/0/16
[  216.899871] evdi: [I] Setting loglevel to 6
[  229.739342] evdi: [I] Increasing device count to 1
[  229.740825] evdi: [V] evdi_platform_device_probe:61
[  229.740945] evdi: [V] evdi_drm_device_init:171
[  229.740962] evdi: [V] evdi_painter_init:1225
[  229.740976] evdi: [V] evdi_modeset_init:516
[  229.741084] evdi: [V] evdi_crtc_init:476
[  229.741126] evdi: [D] evdi_crtc_init:499 drm_crtc_init: 0 p000000002a195edd
[  229.741198] evdi: [I] (card1) Opened by Task 1223 (sh) of process 1223 (sh)
[  229.741223] evdi: [V] evdi_detect:128
[  229.741235] evdi: [V] evdi_detect:134 (card1) Connector state: disconnected
[  229.741277] evdi evdi.0: [drm] Cannot find any crtc or sizes
[  229.741340] evdi: [V] evdi_painter_set_vblank:664
[  229.741353] evdi: [V] evdi_painter_set_vblank:667 Painter lock
[  229.741364] evdi: [V] evdi_painter_send_vblank:651
[  229.741374] evdi: [V] evdi_painter_set_vblank:678 Painter unlock
[  229.741385] evdi: [V] evdi_painter_send_update_ready_if_needed:686
[  229.741395] evdi: [V] evdi_painter_send_update_ready_if_needed:688 Painter lock
[  229.741405] evdi: [V] evdi_painter_send_update_ready_if_needed:698 Painter unlock
[  229.742770] [drm] Initialized evdi 1.14.7 20240920 for evdi.0 on minor 1
[  229.742818] evdi: [I] Evdi platform_device create
root@genio-510-evk:/sys/devices/evdi#

It seems like there is a new node created under drm
so I tried to  turn it on
root@genio-510-evk:/sys/class/drm# ls
card0  card0-DSI-1  card0-HDMI-A-1  card1  card1-DVI-I-1  renderD128  version
root@genio-510-evk:/sys/class/drm# cd card1-DVI-I-1
root@genio-510-evk:/sys/class/drm/card1-DVI-I-1# ls
device  dpms  edid  enabled  modes  power  status  subsystem  uevent
root@genio-510-evk:/sys/class/drm/card1-DVI-I-1# cat status
disconnected
root@genio-510-evk:/sys/class/drm/card1-DVI-I-1# echo on > status
root@genio-510-evk:/sys/class/drm/card1-DVI-I-1# cat status
connected
root@genio-510-evk:/sys/class/drm/card1-DVI-I-1# dmesg | tail -n 25
[  170.416868] usb 1-1.3: [13] FU [UVG2 Audio Playback Volume] ch = 2, val = -8176/0/16
[  216.899871] evdi: [I] Setting loglevel to 6
[  229.739342] evdi: [I] Increasing device count to 1
[  229.740825] evdi: [V] evdi_platform_device_probe:61
[  229.740945] evdi: [V] evdi_drm_device_init:171
[  229.740962] evdi: [V] evdi_painter_init:1225
[  229.740976] evdi: [V] evdi_modeset_init:516
[  229.741084] evdi: [V] evdi_crtc_init:476
[  229.741126] evdi: [D] evdi_crtc_init:499 drm_crtc_init: 0 p000000002a195edd
[  229.741198] evdi: [I] (card1) Opened by Task 1223 (sh) of process 1223 (sh)
[  229.741223] evdi: [V] evdi_detect:128
[  229.741235] evdi: [V] evdi_detect:134 (card1) Connector state: disconnected
[  229.741277] evdi evdi.0: [drm] Cannot find any crtc or sizes
[  229.741340] evdi: [V] evdi_painter_set_vblank:664
[  229.741353] evdi: [V] evdi_painter_set_vblank:667 Painter lock
[  229.741364] evdi: [V] evdi_painter_send_vblank:651
[  229.741374] evdi: [V] evdi_painter_set_vblank:678 Painter unlock
[  229.741385] evdi: [V] evdi_painter_send_update_ready_if_needed:686
[  229.741395] evdi: [V] evdi_painter_send_update_ready_if_needed:688 Painter lock
[  229.741405] evdi: [V] evdi_painter_send_update_ready_if_needed:698 Painter unlock
[  229.742770] [drm] Initialized evdi 1.14.7 20240920 for evdi.0 on minor 1
[  229.742818] evdi: [I] Evdi platform_device create
[  337.134207] evdi: [V] evdi_painter_get_edid_copy:245
[  337.134243] evdi: [V] evdi_painter_get_edid_copy:247 Painter lock
[  337.134256] evdi: [V] evdi_painter_get_edid_copy:258 Painter unlock
root@genio-510-evk:/sys/class/drm/card1-DVI-I-1#

but when i check lsmod seems like no one is using evdi
root@genio-510-evk:/sys/class/drm/card1-DVI-I-1# lsmod
Module                  Size  Used by
evdi                   77824  0

so i tried to switch the monitor by modifying the  weston.ini to  DVI-I-1  which is the node just created
output]
name=DVI-I-1
mode=1920x1080

and  restart weston
 systemctl restart weston
now seems like evdi driver is been used howerver the monitor still does not have any display
root@genio-510-evk:/sys/class/drm/card1-DVI-I-1# systemctl restart weston
root@genio-510-evk:/sys/class/drm/card1-DVI-I-1# lsmod
Module                  Size  Used by
evdi                   77824  1

when I see the log it shows that it just keep spamming :
root@genio-510-evk:/sys/class/drm/card1-DVI-I-1# dmesg | tail -n 30
[  608.805918] evdi: [V] evdi_painter_send_update_ready_if_needed:688 Painter lock
[  608.805921] evdi: [V] evdi_painter_send_update_ready_if_needed:698 Painter unlock
[  608.809452] evdi: [V] evdi_painter_set_scanout_buffer:1280 Painter lock
[  608.809461] evdi: [V] evdi_painter_set_scanout_buffer:1285 Painter unlock
[  608.809466] evdi: [V] evdi_painter_mark_dirty:608 Painter lock
[  608.809469] evdi: [V] evdi_painter_mark_dirty:619 (card1) 0,0-1024,768
[  608.809474] evdi: [V] evdi_painter_mark_dirty:634 Painter unlock
[  608.809476] evdi: [V] evdi_painter_get_num_dirts:560 Painter lock
[  608.809479] evdi: [V] evdi_painter_get_num_dirts:564 Painter unlock
[  608.809482] evdi: [V] evdi_painter_set_vblank:664
[  608.809485] evdi: [V] evdi_painter_set_vblank:667 Painter lock
[  608.809488] evdi: [V] evdi_painter_send_vblank:651
[  608.809499] evdi: [V] evdi_painter_set_vblank:678 Painter unlock
[  608.809503] evdi: [V] evdi_painter_send_update_ready_if_needed:686
[  608.809506] evdi: [V] evdi_painter_send_update_ready_if_needed:688 Painter lock
[  608.809509] evdi: [V] evdi_painter_send_update_ready_if_needed:698 Painter unlock
[  608.812993] evdi: [V] evdi_painter_set_scanout_buffer:1280 Painter lock
[  608.813001] evdi: [V] evdi_painter_set_scanout_buffer:1285 Painter unlock
[  608.813006] evdi: [V] evdi_painter_mark_dirty:608 Painter lock
[  608.813009] evdi: [V] evdi_painter_mark_dirty:619 (card1) 0,0-1024,768
[  608.813014] evdi: [V] evdi_painter_mark_dirty:634 Painter unlock
[  608.813017] evdi: [V] evdi_painter_get_num_dirts:560 Painter lock
[  608.813020] evdi: [V] evdi_painter_get_num_dirts:564 Painter unlock
[  608.813023] evdi: [V] evdi_painter_set_vblank:664
[  608.813026] evdi: [V] evdi_painter_set_vblank:667 Painter lock
[  608.813029] evdi: [V] evdi_painter_send_vblank:651
[  608.813040] evdi: [V] evdi_painter_set_vblank:678 Painter unlock
[  608.813044] evdi: [V] evdi_painter_send_update_ready_if_needed:686
[  608.813046] evdi: [V] evdi_painter_send_update_ready_if_needed:688 Painter lock
[  608.813049] evdi: [V] evdi_painter_send_update_ready_if_needed:698 Painter unlock

So what did i miss

Did you installed displaylink-driver service?
It is required to drive displaylink devices, evdi kernel module is not enough.
https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu
You can use standalone installer for this.
This may be useful to you as well:
https://support.displaylink.com/knowledgebase/articles/679060-porting-the-displaylink-ubuntu-driver-to-other-lin


rebase: config: Make capabilities, noNewPrivileges, and rlimits Linux-only (again)

This rebased  @wking's #835 changes, and added a clarification on POSIX-specific properties such as rlimits.

LGTM

LGTM

LGTM

LGTM


Play application restructuring with Capital One

Restructure Ground to be a multimodule Play application
Switch initial focus to Postgres*
Use Play's built in Database connection pooling to avoid single-thread bottlenecks
Minor refactoring and code cleanup throughout.

NOTE: We plan to reinstate Cassandra and Neo4j support in future releases.

Codecov Report

Merging #90 into master will decrease coverage by 18.18%.
The diff coverage is 67.23%.

@@              Coverage Diff              @@
##             master      #90       +/-   ##
=============================================
- Coverage      85.1%   66.91%   -18.19%
+ Complexity      626      264      -362
=============================================
  Files           115       66       -49
  Lines          3027     1227     -1800
  Branches        223      124       -99
=============================================
- Hits           2576      821     -1755
+ Misses          405      380       -25
+ Partials         46       26       -20

Impacted Files
Coverage Δ
Complexity Δ

...p/edu/berkeley/ground/common/util/IdGenerator.java
50% <0%> (ø)
3 <0> (?)

modules/postgres/app/Module.java
0% <0%> (ø)
0 <0> (?)

...rkeley/ground/common/dao/core/GraphVersionDao.java
0% <0%> (ø)
0 <0> (?)

...edu/berkeley/ground/postgres/dao/SqlConstants.java
0% <0%> (ø)
0 <0> (?)

...ey/ground/postgres/controllers/HomeController.java
0% <0%> (ø)
0 <0> (?)

...rkeley/ground/postgres/start/ApplicationStart.java
0% <0%> (ø)
0 <0> (?)

.../edu/berkeley/ground/common/dao/core/GraphDao.java
0% <0%> (ø)
0 <0> (?)

...erkeley/ground/common/dao/core/EdgeVersionDao.java
0% <0%> (ø)
0 <0> (?)

...keley/ground/common/dao/usage/LineageGraphDao.java
0% <0%> (ø)
0 <0> (?)

.../ground/common/model/version/VersionSuccessor.java
0% <0%> (ø)
0 <0> (?)

... and 121 more

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 d1f5130...4af3420. Read the comment docs.


Add information/example about using irmin-git + Mimic.ctx to interact with a remote repository

Since we switched from conduit to mimic for git remotes it would be nice to provide some information or an example of how to use Mimic.ctx correctly with irmin-git for https and ssh

I would find this very helpful. Any chance someone could provide a pointer to an example, or sketch out the rough shape of how to plumb SSH credential through? I'd be happy to massage a few pointers into an entry in the docs in exchange.


GPU memory usage depends on data size

I am cross-posting this bug from Tensorflow because I suspect it is due to Keras.
It seems that model.fit and model.predict, when given numpy arrays, try to load the whole dataset in the GPU, instead of just sending minibatches. The bug appears on versions 2.6-2.10, but not on 2.5.
System information.

OS Platform and Distribution: Fedora 36
TensorFlow installed from (source or binary): binary wheel
TensorFlow version (use command below): 2.6-2.10.
Python version: 3.6
GPU model and memory: RTX 2070, 8 GiB.
Exact command to reproduce: main(big=False) works, but main(big=True) doesn't.

Standalone code to reproduce the issue.
The following code trains a simple model on either 15 MiB of data, or 15 GiB. The computer has 32 GiB, so it can hold it, but it quickly fills the GPU.
import numpy as np

from keras import layers, models

def get_model(n_inputs: int) -> models.Model:
    inp = layers.Input(shape=(n_inputs,))

    out = layers.Dense(n_inputs, activation='linear')(inp)
    m = models.Model(inputs=inp, outputs=out)
    m.compile(loss='mse', optimizer='adam')
    m.summary()
    return m

def main(big: bool):
    model = get_model(4096)

    N = 1_000_000 if big else 1_000
    train_data = np.zeros((N, 4096), dtype=np.float32)
    print(f'Evaluating on {train_data.shape[0]} data points and {train_data.nbytes / 1024**2} MiB.')

    model.predict(train_data, batch_size=16, verbose=1)
    # Also:
    model.fit(train_data, train_data, epochs=3, verbose=1, batch_size=16, max_queue_size=1)

Using tf.data doesn't solve the problem:
    def wrap_data(data: np.ndarray) -> tf.data.Dataset:
        dataset = tf.data.Dataset.from_tensor_slices(data)
        shuffled = dataset.shuffle(buffer_size=5, reshuffle_each_iteration=True)
        batched = shuffled.batch(16, num_parallel_calls=tf.data.AUTOTUNE, deterministic=False)
        autoencoder = batched.map(lambda x: (x, x)).prefetch(5)

        return autoencoder

    train_data_iterator = wrap_data(train_data)
    model.fit(train_data_iterator, epochs=3, verbose=1, max_queue_size=1)

Using cuda_malloc_async doesn't fix it.
Expected behaviour
I'd expect only the current minibatch to be transferred to the GPU, and not needing to hold the full dataset.
Source code / logs.
Here is the error:
-09-06 10:52:22.131172: W tensorflow/core/common_runtime/bfc_allocator.cc:462] Allocator (GPU_0_bfc) ran out of memory trying to allocate 15.26GiB (rounded to<PHONE_NUMBER>0)requested by op _EagerConst

** Note **
I was asked to reproduce it in a Colab instance. At least the ones I have access to have less RAM than GPU vRAM, so this problem cannot be reproduced there.

I see both have been assigned to sushreebarsa. Sorry if it is too noisy!

I have run into this bug as well while training a Keras model with a large dataset.
After some tinkering, I found another way to replicate the same error -- simply creating a constant tensor.
For some reason, Tensorflow defaults to placing the tensor on GPU.
tf.constant(train_data)

Explicitly setting the device to CPU resolves this issue:
with tf.device('/CPU:0'):
    train_data = tf.constant(train_data)

This CPU-located constant tensor can be used with Keras for training a model on GPU.
@Dapid this workaround fixes your code example in my environment. Can you test it too?

I have run into this bug as well while training a Keras model with a large dataset.

I'm also experiencing the same bug. Unfortunately, the 'with tf device cpu' is causing my model to train on the CPU. So the bug is fully blocking usage of the GPU.
+1 waiting for a fix/workaround

only the tensor creation should be in the 'with cpu'
You are right, that's an error in my original snippet.

To summarize:

If you pass NumPy arrays to Model.fit/predict, it will create new Tensors located on the GPU.
If you pass CPU-located Tensors to Model.fit/predict, it will use them without copying to the GPU -- which is the desired behavior.

I think I'm getting this same problem, except that explicitly putting the training data onto the CPU doesn't seem to solve it.
GPU memory usage is low until model.fit(...), at which point it fills up (if the training data is smallish) or crashes (if it's big).

I think I'm getting this same problem, except that explicitly putting the training data onto the CPU doesn't seem to solve it.
GPU memory usage is low until model.fit(...), at which point it fills up (if the training data is smallish) or crashes (if it's big).

Same issue I'm having

i am having the same issue.
if you pass numpy array to .fit / .predict, TF copies all data in GPU
while imho default behavior should be  keep the data in memory and copy only minibatches

Having same issue. Also I've seen posts saying its a TF 2.6-2.10 bug. Currently running on TF 2.12 and issue persists.

I have run into this bug as well while training a Keras model with a large dataset.

I'm also experiencing the same bug. For me, the way to workaround involved getting the indenting right vs hellodanylo's comment - only the tensor creation should be in the 'with cpu'
with tf.device('/CPU:0'): ____xdata = tf.convert_to_tensor(xdata) hist = model.fit(xdata, ......)
[edit - I can't get the code/indent to show correctly, so I used underscores to show it]

I saw this today, where the load all onto GPU happened after a few model fits that worked - and the above appears to ahve fixed it.
Windows 11
tensorflow                2.10.0                   pypi_0    pypi