Fe type/trait system

[x] Remove unnecessary Visitor
[x] Improve error message
[x] Allow partial application in type alias
[x] Reports an error for unused type params This is not necessary; need to summarize the reasoning instead.
[x] Doc work

NOTE: This PR doesn't contain dependent types and function types implementation, please refer to #940
Fe type/trait system
This PR contains Fe v2 type/trait system implementations, which includes

Internal type/trait representations
General HKT support
Trait satisfiability solver

Overview from high-level perspective
Recursive type
We don't allow recursive types if the recursion forms "direct" dependency since it leads to infinite-sized types in our type system.
e.g.,
struct Foo {
    // Error!
     f: Foo
}

But this restriction is mitigated by using "indirect" wrapper type, e.g., pointer or reference(NOTE: reference is not implemented in this PR).
e.g.,
struct Foo {
    // Ok
    f: *Foo
}

Generics
struct, enum, function, and trait can be generic, meaning they can have type parameters; also, type parameters can have trait bounds in both a type parameter list and where clause. e.g.,
// NOTE: E and T are intentionally inverted(please consider `Functor` implementation on `Result`).
enum Result<E, T>
where E: Error
{
   Err(E)
   Ok(T)
}

struct S<T: Error> {
    t: T
}

trait Error {}

Higher Kinded Types
In fe v2, we support HKT, which means we can abstract over a type that also abstracts over some type.
To specify a HKT, users need to annotate the type parameter with an explicit kind. The type parameter is considered a * type if there is no explicit kind bound.
e.g.,
struct I32PtrFamily<P: * -> *> {
   ptr: P<i32>,
}

struct MyPtr<T> {
   t: T
}

struct I32PtrUser {
   ptr: I32PtrFamily<MyPtr>,
}

NOTE: all terms need to be typed to * kind type, e.g.,
struct PtrFamily<P: * -> *> {
    // Error!
    p: P
}

Trait
The trait system in fe is similar to rust, but we don't support associated types yet.
On the contrary, Fe allows for a trait to specify the kind of its type parameters and self type(the type that implements the trait) in addition to a normal trait bound.
NOTE: Self appearing in a trait is treated just as a type parameter.
e.g.,
trait Add<Rhs, Output> {
     fn add(self, rhs: Rhs) -> Output
}

trait Applicative
where Self: * -> *
{
     fn pure<T>(t: T) -> Self<T>
}

Also, it's possible to specify a super trait in the trait definition(NOTE: This is just a syntax sugar for Self: SuperTrait.
trait SubTrait: SuperTrait {}
trait SuperTrait {}

but cyclic trait relationship is not allowed. e.g.,
// Error!
trait Trait1: Trait2 {}
trait Trait2: Trait1 {}

Trait impl
It's the same with the Rust.
NOTE: You can implement a trait on a generic type. e.g.,
trait Trait {}
impl<T> Trait for T {}

pub struct S<T: Trait> {
    t: T
}
pub struct S2 {
    // Ok: `Trait` is implemented by `impl<T> Trait for T {}`
    s: S<i32>
}

Trait impl conflict
Conflict happens iff

Trait reference in two implementors can be unified
Types in two implementors can be unified

e.g.,
pub trait Foo<T> {}

impl Foo<i32> for i32 {}
// No conflict occurs.
impl Foo<u256> for i32 {}

// Error! Conflict with `impl Foo<i32> for i32 {}`.
// NOTE: this impl doesn't conflict with `impl Foo<u256> for i32 {}`.
impl<T> Foo<T> for T {}

We don't consider trait bounds in the impl conflict check, so the example below is considered an error.
pub trait Foo<T> {}
impl<T, U> Foo<T> for U
where
    T: Clone
    U: Clone
{}
impl<T> Foo<T> for T
{}

Trait Bound Satisfiability
Trait-bound satisfiability check is performed for both type and trait instances.

Trait-bound satisfiability for type

trait Trait {}
impl Trait for i32 {}

pub struct S<T: Trait>
{
    t: T
}

pub struct S2 {
    // Ok
    f: S<i32>,
    // Error!
    f2: S<i256>,
}

Trait-bound satisfiability for trait instances

trait Trait<T: Trait2> {}
trait Trait2 {}
impl Trait2 for i32 {}

pub struct S<T>
where T: Trait<i32> + Trait<u256> // Error! `u256` doesn't implement `Trait2`
{}

NOTE: Trait sat solver can use a super trait relationship, so the below example works fine.
pub trait SubTrait: SuperTrait {}
pub trait SuperTrait {}

pub struct S1<T: SuperTrait> {
    t: T
}

pub struct S2<T: SubTrait> {
    t: S1<T> // Ok. the solver can use`SubTrait: SuperTrait`.
}

Type Alias
Type aliases are NOT in the Fe type system, i.e., They are a kind of macro and expanded at the call site.
As a result, All generic parameters of a type aliases must be given at the use site.
e.g.,
pub enum Result<E, T> {
    Err(E)
    Ok(T)
}

type ErrorCode = u32
type MyResult<T> = Result<ErrorCode, T>
struct Foo {
    res1: MyResult<i32> // Ok
    res2: MyResult // Error!
}

Also, specifying kind bounds is allowed at the type alias definition, but trait bounds are not allowed.
struct S<T: * -> *, U> {
    t: T<U>
}
trait Trait  {}

type Alias<T: * -> *> = S<T, i32> // Ok
type Alias2<T: * -> * +  Trait> = S<T, i32> // Error

Alias to a type that has a higher kind is allowed.
struct S<T> {
    t: T
}
struct Option<T> {}

type Alias = S //  alias to * -> *

Implementation Note
The design of this PR is greatly inspired by Typing Haskell in Haskell. The main difference is that the PR extended this paper to allow multiple trait parameters.
Type Definitions
All type-related definitions are implemented in hir_analysis::ty::ty_def.
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub enum TyData {
    TyVar(TyVar),

    TyParam(TyParam),

    TyApp(TyId, TyId),

    TyCon(TyConcrete),

    Invalid(InvalidCause),
}

TyVar represents a free type variable primarily used for type inference and type generalization. For example, when we have a Result<T, E>,  generalization lifts it to Result<TyVar<0>, TyVar<1>>. It's important to note that TyParam is not a free type variable. That is, there is no essential difference between TyParam and i32, both are strictly different types, and unification will always fail.
TyCon represents concrete type like i32 or Result.
TyApp represents type application. if you see Result<i32, Option<i32>, then the internal representation for the type is TyApp(TyApp(Result, i32), TyApp(Option, i32)).
Unification
Unification-related types are implemented in hir_analysis::ty::unify.
Even though we haven't implemented a type inference, unification plays an important role both for the trait bound satisfiability solver and a trait impl conflict check.
(TBW).
Trait Impl conflict check
Two trait implementation(impl Trait1 for Ty1 and impl Trait1 for Ty2)  is considered conflict iff

Trait1 and Trait2 can be unified.
Ty1 and Ty2 can be unified.
NOTE: Before the unifiability check, we need to generalize two impls.

When we check conflicts for
1.impl Trait<i32> for u32
2. impl Trait<T> for T
then generalized implementation would be
1'. impl Trait<i32> for u32
2'. impl Trait<TyVar(0)> for TyVar(0)
In the trait unification phase, TyVar(0) is unified to i32. Then, this will lead to a unification error in the implementor type unification phase. As a result, the two implementations do NOT conflict.
(TBW).
Known Issues
HKT-specific SAT problem
It's known that HKT makes it difficult to check trait-bound satisfiability.
e.g.,
trait Trait {}
struct S1<T: Trait> {
    t: T
}

struct S2<T: * -> *> {
     t: T<u32>
}

struct S3 {
    t: S2<S1>
}

In this example, the compiler doesn't emit any error. To address this, we need to perform a satisfiability check after monomorphization. But it's impractical. After all, we have two options to address this,

Disallow ADT type to specify trait bound
Leave it as is

Even if option 2. is selected, safety will not be jeopardized. This is because, either way, it is impossible to create a value with this unsatisfiable (unsat) type. Practically speaking, to create an instance of S2, some constraints on T should be required. For example, T: Applicative like the below one:
impl<T> S2<T>
where T: * -> * + Applicative
{
    fn new(val: i32) -> Self {
        Self {
            t: T::pure(val)
        }
    }
}

Since S1 cannot implement Applicative due to trait bound limitations on S1, a value of S2<S1> can't exist.
But this could become a problem if unsafe cast is allowed in Fe. This is something we need to discuss.
A syntax for type arguments
Since we decided to support HKT, the <> argument list is not perfectly suitable, especially with type aliases.
e.g.,
pub struct S1<T, U, V> {
   ...
}

type Foo<T> = S1<T, T>;

pub struct S2 {
    s: Foo<i32, i256>, // This is valid, and resolved to `S1<i32, i32, i256>`.
}

The problem is s: Foo<i32, i256> seems somewhat unnatural.
This could be mitigated to a certain extent by allowing to write Foo<i32><i256>.
MISC
In the current implementation, unused generic parameters are allowed. The context about why rust disallows unused type parameters is described here
I think this might be problematic when we start implementing the borrow checker; either way, we need to decide how to handle this.

I concur, this is great. I've been writing some fe code and checking out the error messages, and they're pretty nice.
error[6-0003]: trait method type parameter number mismatch
   ┌─ v2.fe:22:8
   │
22 │     fn map<A, B, F: Fn<A, B>>(self: Self<A>, _ f: F) -> Result<E, B> {
   │        ^^^ expected 2 type parameters here, but 3 given

error[6-0006]: given argument label doesn't match the expected label required by trait
   ┌─ v2.fe:22:46
   │
 9 │    fn map<A, B, F: Fn<A, B>>(self: Self<A>, f: F) -> Self<B>
   │                                             ---- argument label is defined here
   ·
22 │     fn map<A, B, F: Fn<A, B>>(self: Self<A>, _ f: F) -> Result<E, B> {
   │                                              ^^^^^^ expected `f` label, but the given label is `_`

Foo<i32><i256>
I think this syntax would be fine.

What do you think about a "type hole" syntax, for example:
enum Result<T, E> {
    Ok(T)
    Err(E)
}
impl<E> Functor for Result<*, E> { // or Result<_, E> maybe?
    fn map<A, B, F: Fn<A, B>>(self: Self<A>, _ f: F) -> Self<B> {
        match self {
            Result::Ok(a) => {
                return Result::Ok(f(a))
            }
            Result::Err(e) => {
                return Result::Err(e)
            }
        }
    }
}


Use OAuth response data to log in user to build-notification-api

test the payload

test the payload for mobile

test the payload for mobile

test the payload for mobile 1

test the payload for mobile 2


Mark temporary CI nodes in AWS

In order to more clearly define which resources in AWS are owned by Sock Shop CI deploys, they should be marked with metadata indicating this.
E.g.

the instance name could be ci-sockshop-xxxxxxxxxxxx.
the instances could be tagged

This has been fixed.


Todo for Ver 2.0.0

Improvement
Feature

[x] Improvement in performance
[x] Hide canvas-usage logic
[x] support options for filter effects

Testing

[x] Implement Unit Testing

Build

[x] Build-task to minify/optimise demo site (js, css, and other assets site)

Workflows / Docs / Others

[x] Implement cc styles
[x] Implement CI environment
[x] Implement ESLint workflow
[x] Enhancement in Contribution guides
[x] Create /example folder for usage examples
[x] Minimum API documents in README.md

JSDoc seems charm
http://google.github.io/google-api-nodejs-client/2.1.7/analytics.html

UglifyJS2 for minify
https://github.com/mishoo/UglifyJS2

TODO lists is split into each issues


fix: bottom navigation bar colors

add: _effectiveIconTheme function
add: logic for setting the effective selected/unselected icon theme
change: use the new effective selected/unselected Icon theme when generating _BottomNavigationTile
change: create separate tweens for the icon and for the label
add: tests to capture the issues with the label style color, matching the docs
fix: BottomNavigationBarItem label's color is not overridden neither by selectedLabelStyle nor unselectedLabelStyle
add: legacy flag for preserving the old behavior
#64358
#107925
#27753
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

@darrenaustin implemented the suggestions. Something is wrong with the ci. All items are showing failed authentication. I'm not sure what I can do about it.

@darrenaustin @Hixie Am I going to wait for another 6 months for someone to finalize the review and merge this PR. The contributing experience so far is not the greatest one. Do I need to copy the source of this widget and release it in pub.dev, so that I can finally use a non-broken and not wrapped with custom logic. I'm sorry but I'm running out of patience soon and this is what I'm going to do, even if that wasn't my intend. All the devrel, flutter community representative proclaim that everybody can help making Flutter better. But this is not my experience. The initial work for this fix was done in January.

@darrenaustin @Hixie Am I going to wait for another 6 months for someone to finalize the review and merge this PR. The contributing experience so far is not the greatest one.

@talamaska my sincerest apologies. This is entirely my fault for not letting this languish so long.  I should have responded in a more timely manner. I will strive to do better in the future. We do appreciate your contribution. Thx.

@talamaska my sincerest apologies. This is entirely my fault for letting this languish so long. I should have responded in a more timely manner. I will strive to do better in the future. We do appreciate your contribution. Thx.

@darrenaustin thank you for responding. I apologize for my harsh comment. In my defense I really tried to be patient to this point

@darrenaustin when can I expect this merged?

@darrenaustin thank you for responding. I apologize for my harsh comment. In my defense I really tried to be patient to this point

Not at all, it was completely justified frustration. Again, my apologies.

@darrenaustin when can I expect this merged?

Done. Not sure why it didn't automerge after the review, I thought the label was set on it.

@darrenaustin any idea when this can end up in stable? I don't see it in Beta as well. It is still just in master

Hm, just ran into this, too. It's a rather old bug. Interesting.

Hm, just ran into this, too. It's a rather old bug. Interesting.

It was released in stable. Could you please try setting useLegacyColorScheme to false. The issue should be resolved.

Moved to SnakeNavigationBar meanwhile...

https://api.flutter.dev/flutter/material/BottomNavigationBar/useLegacyColorScheme.html
This explains that.


About Pipeline

HI,
Recently, I am using Lettuce channel model,
But tile38 seems doesn't work.I want to ask you, whether tile38 support channel model?
And then, there is a problem, Lettuce with dispitch tile38 operation, then the jedis is in what way?
I hope you can help me

Tile38 does support pipelining as of 1.4.2.

Hi GameFreedom. Were you able to solve the problem?


Refine Dependency Checking and Improve Error Messaging in Development Environment Script

Changes

The pull request introduces enhancements to the development environment script, focusing on improving the accuracy of dependency checks and providing informative error messages for a smoother onboarding experience.
Submitter Checklist

[ ] 📝 A good commit message is important for other reviewers to understand the context of your change. Please refer to How to Write a Git Commit Message for more details how to write beautiful commit messages. We rather have the commit message in the PR body and the commit message instead of an external website.
[ ] ♽ Run make test before submitting a PR (ie: with pre-commit, no need to waste CPU cycle on CI. (or even better install pre-commit and do pre-commit install in the root of this repo).
[ ] ✨ We heavily rely on linters to get our code clean and consistent, please ensure that you have run make lint before submitting a PR. The markdownlint error can get usually fixed by running make fix-markdownlint (make sure it's installed first)
[ ] 📖 If you are adding a user facing feature or make a change of the behavior, please verify that you have documented it
[ ] 🧪 100% coverage is not a target but most of the time we would rather have a unit test if you make a code change.
[ ] 🎁 If that's something that is possible to do please ensure to check if we can add a e2e test.
[ ] 🔎 If there is a flakiness in the CI tests then don't necessary ignore it, better get the flakyness fixed before merging or if that's not possible there is a good reason to bypass it. (token rate limitation may be a good reason to skip).

Fixes #1531
/cc @chmouel @vdemeester

/ok-to-test

This looks good, just a comment! since we use this on our e2e tests which is run by github actions we should test this since i don't know why GHA don't let me run this on external contributor via an approval process like the pac's /ok-to-test (maybe i have tighten down too much the security there)

it works for me locally on my laptop (TM)
Let me know if you want to address the suggestions but i am fine to merge this as is


Customisable drop shadow color

Added a property in the 3 different chart views that takes in an optional Color parameter for the drop shadow of the chart

Hi, could you add the dropShadowColor property to the ChartStyle and use it later from the style variabe? Thanks!

Done :)

My bad! In future how can I compile the project to test?


Treat 'basic' extraction as a non-spreadsheet extraction method

On the export page, if you choose "original" as the extraction method, the server responds with an extraction method of "basic" which gets set as the extraction value in the export form. However, "basic" gets treated as a "guess" on a subsequent export, so if you have a file where the guess doesn't return any tables you're out of luck.
With this change the server recognizes "basic" as a non-spreadsheet extraction method.

this is related to https://github.com/tabulapdf/tabula/commit/a4d8aa93bb7b1baa10ea043a2e813f2f691352fd
the only reason I'd see NOT to merge this is if we wanted to regularize our names for the extraction methods across tabula-java, tabula-extractor, the Tabula UI, etc. which would probably be more pain than it's worth right now
what say ye, @jazzido?

@mcharters We really should have merged this. I just spent a while debugging this problem only to... discover you had already fixed it a year ago. My apologies! Thanks again for submitting this pull request.


Fixed logout and get_timeline_users functions

Fixed when signal/atexit send to logout additional arguments
Fixed get_timeline_users when received "feed_items" (and nested "media_or_ad") instead "items"

@sudoguy thank you too!


arbitrary support

Would there be any interest in adding support for the arbitrary crate, under a feature flag, to support fuzz-testing proc-macros? Note that arbitrary token streams are likely not very useful, but I have interest in adding the same support to syn, which would allow the easy creation of arbitrary-but-valid AST nodes. However this first requires support for arbitrary Idents/Literals/etc.
I would be willing to make the PR to add all this, but wanted to ask whether there would be any interest in supporting it first.

I am not interested in accepting arbitrary impls into syn so I will go ahead and close this, because as you said arbitrary token streams on their own are not useful.


Failed to build bgs

Hello,
I am using Ubuntu 14.04 with opencv-3.0.0-rc1 libraries correctly installed.
I am trying to build the latest branch of bgslibrary (bgslibrary-opencv3) but when i run the make command i get the following error:
nico@nico-pc:~/Downloads/bgslibrary-opencv3/build$ make
Scanning dependencies of target bgs
[  1%] Building CXX object CMakeFiles/bgs.dir/FrameProcessor.cpp.o
[  2%] Building CXX object CMakeFiles/bgs.dir/PreProcessor.cpp.o
[  3%] Building CXX object CMakeFiles/bgs.dir/VideoAnalysis.cpp.o
[  4%] Building CXX object CMakeFiles/bgs.dir/VideoCapture.cpp.o
[  5%] Building CXX object CMakeFiles/bgs.dir/package_bgs/pl/LBSP.cpp.o
[  6%] Building CXX object CMakeFiles/bgs.dir/package_bgs/pl/SuBSENSE.cpp.o
In file included from /home/nico/Downloads/bgslibrary-opencv3/package_bgs/pl/BackgroundSubtractorSuBSENSE.h:3:0,
from /home/nico/Downloads/bgslibrary-opencv3/package_bgs/pl/SuBSENSE.cpp:2:
/home/nico/Downloads/bgslibrary-opencv3/package_bgs/pl/BackgroundSubtractorLBSP.h:29:10: error: ‘AlgorithmInfo’ in namespace ‘cv’ does not name a type
virtual cv::AlgorithmInfo* info() const;
^
/home/nico/Downloads/bgslibrary-opencv3/package_bgs/pl/BackgroundSubtractorLBSP.h:23:15: warning: ‘virtual void BackgroundSubtractorLBSP::initialize(const cv::Mat&)’ was hidden [-Woverloaded-virtual]
virtual void initialize(const cv::Mat& oInitImg);
^
In file included from /home/nico/Downloads/bgslibrary-opencv3/package_bgs/pl/SuBSENSE.cpp:2:0:
/home/nico/Downloads/bgslibrary-opencv3/package_bgs/pl/BackgroundSubtractorSuBSENSE.h:41:15: warning:   by ‘virtual void BackgroundSubtractorSuBSENSE::initialize(const cv::Mat&, const cv::Mat&)’ [-Woverloaded-virtual]
virtual void initialize(const cv::Mat& oInitImg, const cv::Mat& oROI);
^
make[2]: *** [CMakeFiles/bgs.dir/package_bgs/pl/SuBSENSE.cpp.o] Error 1
make[1]: *** [CMakeFiles/bgs.dir/all] Error 2
make: *** [all] Error 2
I really don't get the point of the error: can anybody help me please?
Thanks

Hi @nikfloydrose sorry for my delayed response. I will check this problem and I will let you updated asap.

Hi,
I've got a similar compilation error, with the opencv3 branch:
Here is the output.
Scanning dependencies of target bgs
[  1%] Building CXX object CMakeFiles/bgs.dir/FrameProcessor.cpp.o
[  2%] Building CXX object CMakeFiles/bgs.dir/PreProcessor.cpp.o
[  3%] Building CXX object CMakeFiles/bgs.dir/VideoAnalysis.cpp.o
[  4%] Building CXX object CMakeFiles/bgs.dir/VideoCapture.cpp.o
[  5%] Building CXX object CMakeFiles/bgs.dir/package_bgs/WeightedMovingVarianceBGS.cpp.o
[  6%] Building CXX object CMakeFiles/bgs.dir/package_bgs/pl/BackgroundSubtractorLBSP.cpp.o
In file included from /home/adelgado/Descargas/bgslibrary-opencv3/package_bgs/pl/BackgroundSubtractorLBSP.cpp:1:0:
/home/adelgado/Descargas/bgslibrary-opencv3/package_bgs/pl/BackgroundSubtractorLBSP.h:29:14: error: ‘AlgorithmInfo’ in namespace ‘cv’ does not name a type
virtual cv::AlgorithmInfo* info() const;
^
/home/adelgado/Descargas/bgslibrary-opencv3/package_bgs/pl/BackgroundSubtractorLBSP.cpp:47:5: error: ‘AlgorithmInfo’ in namespace ‘cv’ does not name a type
cv::AlgorithmInfo* BackgroundSubtractorLBSP::info() const {
^
CMakeFiles/bgs.dir/build.make:169: recipe for target 'CMakeFiles/bgs.dir/package_bgs/pl/BackgroundSubtractorLBSP.cpp.o' failed
make[2]: *** [CMakeFiles/bgs.dir/package_bgs/pl/BackgroundSubtractorLBSP.cpp.o] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/bgs.dir/all' failed
make[1]: *** [CMakeFiles/bgs.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2
Is there any solution?

Hi,
I have OS X Yosemite 10.10.3, and opecv2.4.11. I got similar error to @skormel, please help us to resolve the issue.
Thanks.

Hello guys! @nikfloydrose @skormel @Mona77
sorry for my late response.
I fixed the branch opencv3, now it works great in my Ubuntu 14.04 with OpenCV 3.0 final.
Please, let me know if it is working for you.
Best

Hi Andrew,
Is it possible to fix the master brach as well, because I have Opencv 2.4 ?

Hi @Mona77, I fixed the BackgroundSubtractorLBSP class, please let me know if it works now for you.

Hi,
I am using windows 10 and have Anaconda 4.2 and python 2.7.12 with opencv version 2.4.13
I am trying to build bsglibrary, but every time i try doing it it gives the following:
Collecting BGSLibrary
Using cached bgslibrary-2.0.0.tar.gz
Requirement already satisfied: numpy in c:\users\satish chandra\anaconda2\lib\site-packages (from BGSLibrary)
Building wheels for collected packages: BGSLibrary
Running setup.py bdist_wheel for BGSLibrary ... error
Complete output from command "c:\users\satish chandra\anaconda2\python.exe" -u -c "import setuptools, tokenize;file='c:\users\satish~1\appdata\local\temp\pip-build-u1qmg2\BGSLibrary\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d c:\users\satish~1\appdata\local\temp\tmpz4boeqpip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_ext
building 'libbgs' extension
error: Unable to find vcvarsall.bat

Failed building wheel for BGSLibrary
Running setup.py clean for BGSLibrary
Failed to build BGSLibrary
Installing collected packages: BGSLibrary
Running setup.py install for BGSLibrary ... error
Complete output from command "c:\users\satish chandra\anaconda2\python.exe" -u -c "import setuptools, tokenize;file='c:\users\satish~1\appdata\local\temp\pip-build-u1qmg2\BGSLibrary\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record c:\users\satish~1\appdata\local\temp\pip-2ro1jm-record\install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_ext
building 'libbgs' extension
error: Unable to find vcvarsall.bat
I also tried installing Visual Studio 2013 but it didnt solve my problem. When i tried building the wheels for bsglibrary it gave the following error:
Collecting BGSLibrary
Using cached bgslibrary-2.0.0.tar.gz
Collecting numpy (from BGSLibrary)
Downloading numpy-1.14.2-cp27-none-win_amd64.whl (13.3MB)
100% |################################| 13.3MB 50kB/s
Saved c:\users\satish chandra\numpy-1.14.2-cp27-none-win_amd64.whl
Skipping numpy, due to already being wheel.
Building wheels for collected packages: BGSLibrary
Running setup.py bdist_wheel for BGSLibrary ... error
Complete output from command "c:\users\satish chandra\anaconda2\python.exe" -u -c "import setuptools, tokenize;file='c:\users\satish~1\appdata\local\temp\pip-build-liwtx3\BGSLibrary\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d c:\users\satish~1\appdata\local\temp\tmpqwanigpip-wheel-:
running bdist_wheel
running build
running build_ext
building 'libbgs' extension
error: Unable to find vcvarsall.bat

Failed building wheel for BGSLibrary
Running setup.py clean for BGSLibrary
Failed to build BGSLibrary
ERROR: Failed to build one or more wheels.
I dont know what wrong i am doing. I have kind of tried every method that i can find on net.
I even tried using the methods written on the following site:
https://stackoverflow.com/questions/2817869/error-unable-to-find-vcvarsall-bat
I totally dont know how to fix it anymore. Can you please guide me?
Thank you


Added library and example for the 7.5 inches Version 2 (7in5_V2) screen

The protocol from the old version of the 7.5 inches screen is not compatible with V2. I made it using the official repository examples and the epaper7in5.py file as guides so it's very similar overall. I tried to maintain the naming conventions used before.

Thank You! This is exactly what I've been looking for!

test.py have some mistakes, correct with below codes
sck = Pin(13) miso = Pin(19) mosi = Pin(14) dc = Pin(27) cs = Pin(15) rst = Pin(26) busy = Pin(25)

I can't allocate enough memory to run the example.
I am using the e-paper esp Driver Board from waveshare
and uPyCraft V1.1

test.py have some mistakes, correct with below codes and it works! sck = Pin(13) miso = Pin(19) mosi = Pin(14) dc = Pin(27) cs = Pin(15) rst = Pin(26) busy = Pin(25)

Can u helpe me?
I bought this board https://www.waveshare.com/wiki/E-Paper_ESP32_Driver_Board#Support from your brand on aliexpress and I'm working with this display https://pt.aliexpress.com/item/1005004369892606.html?spm= a2g0o.order_list.order_list_main.22.5200caa4RLIa4Q&gatewayAdapt=glo2bra this code doesn't work

test.py have some mistakes, correct with below codes and it works! sck = Pin(13) miso = Pin(19) mosi = Pin(14) dc = Pin(27) cs = Pin(15) rst = Pin(26) busy = Pin(25)

Can u helpe me?
I bought this board https://www.waveshare.com/wiki/E-Paper_ESP32_Driver_Board#Support from your brand on aliexpress and I'm working with this display https://pt.aliexpress.com/item/1005004369892606.html?spm= a2g0o.order_list.order_list_main.22.5200caa4RLIa4Q&gatewayAdapt=glo2bra this code doesn't work

I don't use esp32 board anymore.Because I can't allocate enough money to display large image.So I bought a raspberry pi zero 2w. Then run official examples in this repo https://github.com/waveshareteam/e-Paper/tree/master/RaspberryPi_JetsonNano/python/examples.Hopefully it can help you

made it using the official repository examples and the epaper7in5.py file as guides so it's very similar overall. I tried to maintain

I have a  raspberry pi zero w here, I will need to buy a new driver board? Can ou help me choose a correct maybe in aliexpress that works with this screen https://pt.aliexpress.com/item/1005004369892606.html?spm= a2g0o.order_list.order_list_main.22.5200caa4RLIa4Q&gatewayAdapt=glo2bra
I'm facing some problems with getting stuck in busy, I'm afraid this screen is not compatible or has problems.


Finish the update guide, actually run its tests

This finishes all the TODOs I had left previously. I also noticed that
we weren't actually running the test suite for this example, so I've
updated it to be run. The suite was failing due to numeric_expr! being
inferred, which prompted me to remove the point in the guide mentioning
it as well.
The explanation of get_result and get_results assumes that someone
is already familiar with Queryable and/or load, which I don't like.
However I think we will have a separate guide that explains those in
depth, and we can cross-link to that here when we do so.

I'll start using that style for future guides. I don't think it's worth the time to convert this one though.


gopass recipients add --without-secret-key

Hello there,
I know what I'm doing, and I'm sure that I want to add that recipient whose secret key I do not possess (because I generated that secret key on a different device for example and never ever ever ever transmitted it away from there).
It would be cool to have a --without-secret-key option that skips the safety check :)
Similar to rm --no-preserve-root ;)

Sorry, I tried adding a public key without expiry date. It told me that wasn't possible, so I thought it was due to the missing secret key:

Error: no matching valid key found in keyring


Add command to fix non-matching rank counts

Inspiration taken from web-10 implementation, but updated for the new scores table.
I haven't yet tested this (still have an ongoing processing queue which I don't want to run in parallel). Just PRing as I think it's mostly ready to go. I'll test it tomorrow and make any required amendments.
In conjunction with https://github.com/ppy/osu-queue-score-statistics/pull/303 (already deployed), closes https://github.com/ppy/osu-web/issues/8443.

Seems to be working, going to merge for a more efficient production run.


Fix the Open in Solution Explorer link disappearing

Fix #1974 Cookiecutter automatic check for updates may be clearing the open in solution explorer section

👍


neon-node-agent: deployment issues

I've noticed some weirdness around the neon-node-agent deployment:

[x] KubeSetup.InstallNodeAgentAsync() also creates our custom dashboard resources even though operation is completely unrelated.  This should happen in a dedicated method.

FIXED


Reload the tree without affecting open/closed nodes

Hello. I wonder if there is a way of reloading a tree (currently I call $(..).treeview(..) again) without closing/opening already open/close nodes, thus making the least amount of modifications to the user's current view.
I can imagine writing logic that checks the status of all the nodes and then sets that status again every time rendering is finished, but having a convenient refresh method would be ideal.

Hi, as you're providing the data to the tree, you can update the data as you expand/collapse. We're doing it using sessionStorage: https://github.com/ManageIQ/manageiq-ui-classic/blob/master/app/assets/javascripts/miq_tree.js#L441-L456


Need to add custom encoder for ipv4

How can i do this?
class Gateway(Model):
    serial_number: str
    name: str
    ip: IPv4Address
    devices: Optional[List[PeripheralDvice]] = Field(max_items=10)

    class Config:
        json_encoders = {IPv4Address: lambda v: str(v)}

Normally, since Pydantic already handle this field type, you shouldn't have to specify those json_encoders.
However, if you need custom json_encoders, you're right. It's currently not working. I'll release a patch soon.

Might be related to https://github.com/samuelcolvin/pydantic/issues/2024


Nested Documents

Hello everyone,
I'm working now on a proof of concept about Solr documents with nested data.
I'm wondering if there is a implementation of the "childDocuments" from Solr server.

The solarium client supports nested documents but is not yet implemented in this bundle

ok thanks for your help :-)

Would it be possible to update the composer.json file ? The solarium library is at the 3.8 version and apparently it's needed to have the nested document feature (if I read correctly the documentation)

sure! where is your pull-request? ;)

Can you develop what you mean ?
I've never made any contribution into a github repo before.
How do I do that pull request ?

After some reflexion, I think I know what it is. But I've never done that on github.
Can you give me the procedure, just to be sure I'm not doing something wrong ;-)

if you want a higher version of the solarium client just run: composer require solarium/solarium:^3.8

This is what I wanted to do, but I discussed this with my coworker, and we decided it was a secondary requirement we didn't want in our composer file. That dependency is linked to your project, so it has to stay there.
It's just about compartmentalizing the dependencies.

Well, my bundle requires version 3.6 and you need version 3.8, so we speak here about a project-specific dependency.
The next release contains a nested-document feature which requires the version 3.8. If you can wait then you do need to update your project-dependencies.

Hello Florian,
thanks for your answer.
I think you're right. This need is specific to our project so I'm going to update the dependency in our own composer file ;-).
Can I ask your opinion: do you think there will be side effects if we're using the 3.8 version ?

version 3.8 does not contain critical changes and I have not notice strange behavior with my local setup. So everything should work well.

Hello @floriansemm ,
I'm still on this feature ^^ (a lot of work has been done on other things though).
Now I need to store a list of element as array.
But, like you said in a previous comment: I would need to implement childDocuments.
Can you give me some advice to implement something that would respect good practice ?
Do you think it would be interesting to extend you Field class ?


404 Not Found

MacBook-Pro helper % python3 main.py -p 8848
INFO:     Started server process [53740]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8848 (Press CTRL+C to quit)
INFO:     <IP_ADDRESS>:60723 - "GET / HTTP/1.1" 404 Not Found
INFO:     <IP_ADDRESS>:60723 - "GET / HTTP/1.1" 404 Not Found

看起来一切正常, 404是因为访问了未注册的路由, 此issue关闭


High CPU usage in Linux

I'm successfully running neohtop on Linux (Arch, Sway). However, CPU usage is around 20% (of one of 12 cores):

That's a lot more than other tools (e.g., btop) use.

@nschloe have you build it or running the dev server ? and of course you now a GUI app like this would beat a TUI app in performance.. but 20% is a lot.. for me is does not exceed 10% on high loads (like 1s refresh rates), on 2s is doesn't exceed 4%.

btw we're now supporting Linux, if you wanna download the .deb package https://abdenasser.github.io/neohtop/

have you build it or running the dev server ?

That's both on build and dev server.

what system are you using?

also, make sure you are on latest version

I'm on main. Arch with Sway.

Hello, can you give me information about the installation. I want to install it too. @nschloe

@ahmetozmtn This is off-topic. Please open a new report. @Abdenasser Please delete this and the previous comment.


Some confused about upgradeability_using_inherited_storage

As a matter of fact, I am always confused with this part : upgradeability_using_inherited_storage,
I find there is a test file Upgradeable.js, but I think if we change it to an upgradeable contract, we should try to call approve() and transferFrom from contract TokenV1_1, I know if I want to write an upgradeable contract, I can use
ZeppelinOS:Upgrading your project, but it just gives a wrapper, I do not know what happen in it
I can use this pattern upgradeability_using_inherited_storage,, but the doc is a little hard for me, cause I find there is some contracts, and I do not know the order to call them, I know that there is a default function, if a contract function does not exit, the default function will be triggered, this is what happens in Proxy.sol,  but what is the function of the contract Registry.sol, and what is the correct order?

Finally I get what I want from this file Upgradeable.js


Allow passing of client options

createBrwoserClient in Remix and createBrowserSupabaseClient in Next.js currently don't support passing of supabase-js client options.
We should update them to be coherent with the Seveltekit implementation: https://github.com/supabase/auth-helpers/blob/main/packages/sveltekit/src/createClient.ts

This was fixed in d3366e4bfc19f09049709e8ab7f83e4f9273e231.


Updating link to 5.0.x docs

This message is going once we release anyway, but thought I'd update it for the m4 docs just to avoid any confusion.

--no-rebase


inverse density

Could you please tell me which line of code reflects the inverse density?

The old version has a bug in the inverse density scale.
The fix have be committed. Please use the latest version of code.


feat: remove caw

caw is using a long deprecated tunnel-agent that does not work with Node.js v12.
Instead of using caw, just advise users to use global-agent as needed.
The build process was broken, therefore I had to make changes to URL parsing as part of the PR.

@kevva can this be released? The build is failing for non-related reasons.

Sorry @gajus, messed up the PR a little. It's fixed in https://github.com/kevva/download/commit/a16ba04b30dafbe7d9246db93f1534320d8e0dd3.

Thank you

Will be released soon as a major since essentially removing the proxy option is a breaking change. I just have to tweak some other stuff before releasing.

@kevva Is there an eta on the release? Caw has another issue making it impossible to use in confined snap packages on linux, and i'd really like to stick to download.

I hate to be annoying, but do you have an update on this?


Electron-only button to create and submit new chat from text on clipboard.

likely electron only because system clipboard access on web is weird.

next to new folder button (also square size)

implemented on #95
keybind: ctrl+p


Issue with Next.js 'use client'

First thank you, wanted to try this library and love the promise about supporting multi environment: node.js, edge and browser.
The library works perfectly with RSC and Route Handler (API) with Next.js. There isn't any issue with server side.
I have some issue when using with client component 'use client' in Next.js:
The generated code contains 'async/await' because this module is using "topLevelAwait".
However, your target environment does not appear to support 'async/await'.
As a result, the code may not run as expected or may cause runtime errors.

Internal error: Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

The configuration I use:
import { configure, getConsoleSink, getLogger } from '@logtape/logtape';

await configure({
  sinks: { console: getConsoleSink() },
  loggers: [
    { category: ['logtape', 'meta'], level: 'warning', sinks: ['console'] },
    { category: 'app', level: 'debug', sinks: ['console'] },
  ],
});

export const logger = getLogger(['app']);

What if you remove await from the configuration code?  That would work too for the most cases.

Yes, thank so much, it works much more better.
When the await is necessary?

It's necessary if any of sinks you'd like to use is AsyncDisposable, e.g., stream sink.

@ixartz You many need to use v0.6.3, which is released today. It contains a small fix for Node.js client rendering.

@dahlia Thank you for updating the package, but I have new error with the package now:
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted

Import trace for requested module:

I don't have this issue in 0.6.2

Could you share the import trace as well?

I can confirm a new issue in Next.js (Pages router) and 0.6.3:
 ⚠<EMAIL_ADDRESS>Critical dependency: require function is used in a way in which dependencies cannot be statically extracted

Import trace for requested module:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>./src/some-file.ts

There is import { getLogger } from '@logtape/logtape' in ./src/some-file.ts in my case.
The error shows up in server logs, i.e. it happens during the SSR phase, in Node.js environment. When using logtape 0.6.2, this warning does not show up.

@ixartz @kachkaev Could you give v0.6.4-dev.96 a try? I addressed this issue again, and I hope it will work for you.

👋 @dahlia! I tried v0.6.4-dev.96 right now. Still getting this warning from Next.js webpack (on the server):
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted

Import trace for requested module:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>./src/some-file.ts

This warning does not show up on 0.6.2, sticking with it for now.

Still happening on 0.7.1 too

Adding @logtape/logtape to serverComponentsExternalPackages fixes the error for me.
const nextConfig = {
  experimental: {
    instrumentationHook: true, // I'm running logtape config/init in instrumentation.ts when NEXT_RUNTIME is 'nodejs'
    serverComponentsExternalPackages: ["@logtape/logtape", "bullmq"],
    ...
  },
  ...
}


chore(main): release 1.6.0

:robot: I have created a release beep boop
1.6.0 (2024-01-13)
Features

add the ability to show/hide buttons on the shot view screen (6505bea)

Bug Fixes

shotshare image share input IDs (5c9b227)

Miscellaneous Chores

drop dockerfile for local dev (just use sail runtime) (e45b66c)
lint (349aee4)

This PR was generated with Release Please. See documentation.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (5c9b227) 64.13% compared to head (25107e5) 64.13%.
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##               main      #30   +/-   ##
=========================================
  Coverage     64.13%   64.13%
  Complexity       70       70
=========================================
  Files            30       30
  Lines           290      290
=========================================
  Hits            186      186
  Misses          104      104

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

:robot: Release is at https://github.com/mdshack/shotshare/releases/tag/v1.6.0 :sunflower:


Setup CI

use our new texer container to build in Buildkite with PR validation builds.

@clyde-johnston can you please look into this?
@thirtytwobits why Buildkite, why not GitHub Actions?

I would go for actions. Quite easy to setup and use.

Or Travis? It'd be nice to not have so many different CI solutions. Can we keep it at two? Can we move our Travis builds to actions?

Can we keep it at two? Can we move our Travis builds to actions?

Someday, sure, but we already use GitHub Actions for website deployment.

What event should trigger the build? Any push? Any push to master? Any push to the specification directory?

Any push.
On Tue, Jul 14, 2020, 09:21 clyde-johnston<EMAIL_ADDRESS>wrote:

What event should trigger the build? Any push? Any push to master? Any
push to the specification directory?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/UAVCAN/specification/issues/72#issuecomment-657993007,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZFIZDMGXDERQRYCK5MTOTR3P2O3ANCNFSM4K6QOBDA
.

Any push.
…
On Tue, Jul 14, 2020, 09:21 clyde-johnston @.***> wrote: What event should trigger the build? Any push? Any push to master? Any push to the specification directory? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#72 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZFIZDMGXDERQRYCK5MTOTR3P2O3ANCNFSM4K6QOBDA .

any push to master, right @pavel-kirienko ?

Why? Let it be any push to any branch.

consistency. Having a single branch that can publish the spec from means there's no risk of another branch being created that publishes different versions. This would create a condition where the last branch to accept a change would be the one that the public-specification was published from. That seems dangerous.

This should not be a problem as each artifact is associated with its respective commit ID. Presumably the artifacts associated with commits in the master branch will be canonical. You would need to switch branches to download a more recent artifact in another branch. When the pull request for this branch has been approved and merged, a new artifact will be built from the new commit in the master branch.

Automatic builds and automatic publications are two different things.
The doc should be always built and stored somewhere temporarily regardless of the current branch. If the branch is master, the doc should also be published somewhere so that it can be redirected to from uavcan.org/specification. Do we have any ideas on how to implement that?
Currently, I update the published doc manually by simply overwriting this file here: https://github.com/UAVCAN/uavcan.org/tree/master/specification

The normal method is to deploy the artifact (i.e. publish the document) to the web server once the build is complete. This can be done directly from the specification repository without copying the PDF to the uavcan.org repository.
If you want the specification to be part of the web source, you might want to consider making the specification repo a submodule of the uavcan.org repo. The limitation here is that you would need to check in and commit the submodule directory every time there was a change in the specification repo. It might be possible to automate this by sending a custom event from one repo to another but I am not sure. It would be unusual to do it this way.

Clyde has set up auto-build but not auto-publish. Closing because this issue is about the former only, which is done.


Crashes on big repos

Tried it on a big repo and the app crashed. (Sorry about that!)

It doesn't matter whether repository is big or not (GitHub API pages results anyway).
In this case committer is not a GitHub user and has no login or avatar.
/tmp/tmpdir/G95AZH/commit4/githubrequest.js:45
        username: commit.committer.login,
                                  ^

TypeError: Cannot read property 'login' of null
    at addCommitToHistoryObject (/tmp/tmpdir/G95AZH/commit4/githubrequest.js:45:35)
    at Array.forEach (native)
    at /tmp/tmpdir/G95AZH/commit4/githubrequest.js:35:36
    at IncomingMessage.<anonymous> (/tmp/tmpdir/G95AZH/commit4/githubrequest.js:87:7)
    at emitNone (events.js:72:20)
    at IncomingMessage.emit (events.js:166:7)
    at endReadableNT (_stream_readable.js:893:12)
    at doNTCallback2 (node.js:429:9)
    at process._tickCallback (node.js:343:17)


Add an explorer button in "Zen Mode"

Minimal interface is terrific, but having to hop in and out to open a file (or having to type the file name) is awkward.
A button that presents a floating explorer pane would be much more convenient.

@milleym what is wrong with using quick open (Ctrl+P)?

I think moving the mouse cursor all the way to the left could summon the panel, would be pretty nice

Another useful hotkey for this general use-case (That does work in Zen Mode) is Pressing ⌘B (CtrlB in Windows?) to "Toggle Sidebar Visibility", you can just open it real quick, feel dirty for clicking stuff, and hide it again.
You can check what the key is bound to by Pressing Ctrl/⌘ + P, typing "Toggle Sidebar Visibility" and seeing the hotkey there.

Another useful hotkey for this general use-case (That does work in Zen Mode) is Pressing ⌘B (CtrlB in Windows?) to "Toggle Sidebar Visibility", you can just open it real quick, feel dirty for clicking stuff, and hide it again.
You can check what the key is bound to by Pressing Ctrl/⌘ + P, typing "Toggle Sidebar Visibility" and seeing the hotkey there.

For me, the whole point of Zen mode is to have no buttons distracting me. You can use the above keyboard shortcut to open the sidebar, or - even better - you can open the file tree directly. Default keybindings show:
{ "key": "ctrl+shift+e",          "command": "workbench.view.explorer" }
If you really want something to click, then you could just use fullscreen mode. It's Zen mode plus the sidebar and status bar.


Just Wanted to Let You Know

I got sntp added to Homebrew Browser

Thanks! This was meant more as a proof-of-concept but if it helps out then that's great!


try fix push require columns with join

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
For changelog. Remove if this is non-significant change.
Category :

Bug Fix

Short description (up to few sentences):
maybe related to #5190

Ok.

Could you please add the performance test from Denny Crane:
https://github.com/yandex/ClickHouse/issues/5190#issuecomment-489431540
(into tests/performance) in next PR?


Import facts seems doesn't work

I try import facts with this code:
data = [ 'data/botfacts.tbl' ];
facts.load(data, 'telnetFacts', function(err, f){
    factSystem = f;
    var options = {};

    var TopicSystem = require("superscript/lib/topics/index")(mongoose, factSystem);

   options['factSystem'] = factSystem;
   options['mongoose'] = mongoose;
});

table: ~botfacts (^arg1 ^arg2 ^arg3)
^createfact(^arg1 ^arg2 ^arg3)
^createfact(^arg3 ^arg2 ^arg1)
DATA:
hair color brown
hair length sholder_length
eye color hazel
favorite color green

But when I search inside a plugin function nothing was there:
this.facts.db.get({subject: "hair"}, function(err, res) {
      if (res && res.length != 0) {
        console.log(res)
      } else {
        console.log("F~.")
      }
});

Am I doing something wrong?

Pretty sure this works in v1, though we do need to come back and take a good look at facts at some point.


Error: pathname contains null byte

Brew doctor gives "Error: pathname contains null byte". I suspect this is a broken symlink in my system somewhere, but brew doctor should tell me where so I can fix it.
https://gist.github.com/jamesonquinn/18d53ca955a872e49f7081b2551c3b8e

Some more symptoms: uninstall doesn't work (this is what actually got me to try brew doctor in the first place) Here:
Jamesons-MacBook-Pro-2:vse-sim chema$ brew install python3
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
youtube-dl
Error: python3-3.4.1 already installed
To install this version, first brew unlink python3
Jamesons-MacBook-Pro-2:vse-sim chema$ brew uninstall python3
Error: 757: unexpected token at ''
Please report this bug:
http://docs.brew.sh/Troubleshooting.html
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/json/common.rb:155:in parse' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/json/common.rb:155:in parse'
/usr/local/Homebrew/Library/Homebrew/tab.rb:62:in from_file_content' /usr/local/Homebrew/Library/Homebrew/tab.rb:57:in block in from_file'
/usr/local/Homebrew/Library/Homebrew/tab.rb:57:in fetch' /usr/local/Homebrew/Library/Homebrew/tab.rb:57:in from_file'
/usr/local/Homebrew/Library/Homebrew/tab.rb:102:in for_keg' /usr/local/Homebrew/Library/Homebrew/keg.rb:392:in block in installed_dependents'
/usr/local/Homebrew/Library/Homebrew/keg.rb:391:in select' /usr/local/Homebrew/Library/Homebrew/keg.rb:391:in installed_dependents'
/usr/local/Homebrew/Library/Homebrew/keg.rb:107:in block in find_some_installed_dependents' /usr/local/Homebrew/Library/Homebrew/keg.rb:105:in each'
/usr/local/Homebrew/Library/Homebrew/keg.rb:105:in find_some_installed_dependents' /usr/local/Homebrew/Library/Homebrew/cmd/uninstall.rb:90:in check_for_dependents'
/usr/local/Homebrew/Library/Homebrew/cmd/uninstall.rb:83:in handle_unsatisfied_dependents' /usr/local/Homebrew/Library/Homebrew/cmd/uninstall.rb:31:in uninstall'
/usr/local/Homebrew/Library/Homebrew/brew.rb:94:in `'
Jamesons-MacBook-Pro-2:vse-sim chema$ brew uninstallll python3
Error: Unknown command: uninstallll

What does readlink "$(brew --prefix)/opt/python" output?

Jamesons-MacBook-Pro-2:local chema$ readlink "$(brew --prefix)/opt/python"
../Cellar/python/2.7.8

Oh, wait, I misread your comment, sorry. Thought it said python instead of python3. Could you try again with python3?
readlink "$(brew --prefix)/opt/python3"

../Cellar/python3/3.4.1

Does /usr/local/Cellar/python3/3.4.1 exist?

Jamesons-MacBook-Pro-2:vse-sim chema$ cd /usr/local/Cellar/python3/3.4.1
Jamesons-MacBook-Pro-2:3.4.1 chema$ ls
Frameworks		INSTALL_RECEIPT.json	Python Launcher 3.app	bin
IDLE 3.app		LICENSE			README			share

@jamesonquinn edited your first comment to make the Terminal output a little more readable

Is brew uninstall broken just for python3, or for everything?

It seems to be broken more widely; not just uninstall, but install:
Jamesons-MacBook-Pro-2:local chema$ brew install docker
==> Downloading https://homebrew.bintray.com/bottles/docker-1.13.0.el_capitan.b
######################################################################## 100.0%
==> Pouring docker-1.13.0.el_capitan.bottle.1.tar.gz
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
pathname contains null byte

@jamesonquinn thanks for bearing with me. This is a tricky one to debug remotely, but I think we're getting somewhere.
Can you let me know what the output of this is?
find . -type l ! -exec test -e {} \; -print

No output.

Closing this as it's not something we've been able to debug, sorry.

So I just ran into the same issue. I'm not sure how this happened but it happened to me. Here's what I did to fix it.

On /usr/local/Homebrew/Library/Homebrew/tab.rb:62 I added a puts path as the first line in that function
Then it'll list all of the files that it's parsing. The last INSTALL_RECEIPT.json file is the one that will have the issue (there may be more so you may have to repeat this several times).
Either fix the JSON file if you can or delete the package folder that contains the issue and just use brew install the package again.
Then remove the puts you wrote in step 1.

I did what Allejo suggested (adding the puts path in two functions, self.from_file and self.from_file_content, because line 62 was not right, but it just showed twice so that's OK). The error was in /usr/local/Cellar/gettext/<IP_ADDRESS>/INSTALL_RECEIPT.json. Since my gettext is borked, I decided to just reinstall, so I did rm -rf /usr/local/Cellar/gettext/; brew install gettext. Result:
Updating Homebrew...
To restore the stashed changes to /usr/local/Homebrew run:
  'cd /usr/local/Homebrew && git stash pop'
==> Auto-updated Homebrew!
Updated 2 taps (caskroom/cask, homebrew/core).
==> Updated Formulae
ansifilter          cgal                lean-cli            nano                sslscan
argus               ffmpeg ✔            libressl            paket               swift
bind                fluent-bit          mksh                pqiv                terraform
buildifier          hyper               mps-youtube         sonar-scanner       tfenv
cayley              infer               mpv                 speedtest_cli       vc4asm
Error: pathname contains null byte
Please report this bug:
  http://docs.brew.sh/Troubleshooting.html
/usr/local/Homebrew/Library/Homebrew/extend/pathname.rb:347:in `initialize'
/usr/local/Homebrew/Library/Homebrew/extend/pathname.rb:347:in `readlink'
/usr/local/Homebrew/Library/Homebrew/extend/pathname.rb:347:in `resolved_path'
/usr/local/Homebrew/Library/Homebrew/keg.rb:237:in `optlinked?'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:270:in `each'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:270:in `detect'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:270:in `from_rack'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1429:in `block in installed'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1427:in `map'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1427:in `installed'
/usr/local/Homebrew/Library/Homebrew/cmd/update-report.rb:505:in `migrate_formula_rename'
/usr/local/Homebrew/Library/Homebrew/cmd/update-report.rb:101:in `each'
/usr/local/Homebrew/Library/Homebrew/cmd/update-report.rb:101:in `update_report'
/usr/local/Homebrew/Library/Homebrew/brew.rb:91:in `<main>'
==> Downloading https://homebrew.bintray.com/bottles/gettext-<IP_ADDRESS>.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring gettext-<IP_ADDRESS>.sierra.bottle.tar.gz
Error: pathname contains null byte
Please report this bug:
  http://docs.brew.sh/Troubleshooting.html
/usr/local/Homebrew/Library/Homebrew/extend/pathname.rb:347:in `initialize'
/usr/local/Homebrew/Library/Homebrew/extend/pathname.rb:347:in `readlink'
/usr/local/Homebrew/Library/Homebrew/extend/pathname.rb:347:in `resolved_path'
/usr/local/Homebrew/Library/Homebrew/keg.rb:379:in `block in oldname_opt_record'
/usr/local/Homebrew/Library/Homebrew/keg.rb:378:in `each'
/usr/local/Homebrew/Library/Homebrew/keg.rb:378:in `detect'
/usr/local/Homebrew/Library/Homebrew/keg.rb:378:in `oldname_opt_record'
/usr/local/Homebrew/Library/Homebrew/keg.rb:485:in `optlink'
/usr/local/Homebrew/Library/Homebrew/formula_installer.rb:700:in `link'
/usr/local/Homebrew/Library/Homebrew/formula_installer.rb:564:in `finish'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:320:in `install_formula'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:207:in `block in install'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:205:in `each'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:205:in `install'
/usr/local/Homebrew/Library/Homebrew/brew.rb:91:in `<main>'
Jamesons-MacBook-Pro-2:~ chema$ brew link --overwrite gettext --force
Error: pathname contains null byte
Please report this bug:
  http://docs.brew.sh/Troubleshooting.html
/usr/local/Homebrew/Library/Homebrew/extend/pathname.rb:347:in `initialize'
/usr/local/Homebrew/Library/Homebrew/extend/pathname.rb:347:in `readlink'
/usr/local/Homebrew/Library/Homebrew/extend/pathname.rb:347:in `resolved_path'
/usr/local/Homebrew/Library/Homebrew/keg.rb:379:in `block in oldname_opt_record'
/usr/local/Homebrew/Library/Homebrew/keg.rb:378:in `each'
/usr/local/Homebrew/Library/Homebrew/keg.rb:378:in `detect'
/usr/local/Homebrew/Library/Homebrew/keg.rb:378:in `oldname_opt_record'
/usr/local/Homebrew/Library/Homebrew/keg.rb:294:in `block in lock'
/usr/local/Homebrew/Library/Homebrew/formula_lock.rb:25:in `with_lock'
/usr/local/Homebrew/Library/Homebrew/keg.rb:293:in `lock'
/usr/local/Homebrew/Library/Homebrew/cmd/link.rb:62:in `block in link'
/usr/local/Homebrew/Library/Homebrew/cmd/link.rb:28:in `each'
/usr/local/Homebrew/Library/Homebrew/cmd/link.rb:28:in `link'
/usr/local/Homebrew/Library/Homebrew/brew.rb:91:in `<main>'

Using allejo's trick of adding debug output to the ruby files (but not just in tab.rb), I eventually found the culprit: a bad symlink at /usr/local/opt/scons. Removing that, and then rm -rf /usr/local/Cellar/scons/, and then some cleanup as suggested by brew doctor, got me working again.

Glad you got it sorted @jamesonquinn! Sorry I couldn't help much! :)


Change all reference to xplat & cross-plat to Azure CLI

The name for xplat-cli is changing to Azure Command-Line Interface (Azure CLI). This pull request should be all of the changes needed to remove all references of Cross-Platform and xplat including the .md file names.
This is my first ACOM contribution. Please let me know if I've done terrible things and I'll fix them up.

Hi @devigned, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (dajustic). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

I think you've likely done them correctly, but perhaps overdone them. Should we rename files at this stage of the game we're going to break all inbound links from msdn or blog entries (of which there are many) including github mentions as well. We could create redirects to handle this, but my suspicion is that we might want to hang out until after //build to fix the filenames...

I'll review them, but I really think this should be submitted against release-build, to get that massive merge out now, rather than when we move release-build into master.... what do you think?

also: did we not agree that it was going to be Azure CLI for Mac, Linux, and Windows? or were we spelling them all out for "Azure Command-Line Interface (CLI) for Mac, Linux, and Windows"?
I recall this:
First use: Azure CLI for Mac, Linux, and Windows
Subsequent: Azure CLI
Code: azure-cli after the npm package name.
??? Just need to confirm, because i've already made tons of changes about this in release-build.

@squillace I still need to correct the file renaming. I think I should be able to get that done this evening.
Based on your feedback, I'll move the PR over to release-build.

@squillace It seems like it would be really verbose to say "for Mac, Linux, and Windows". I generally took the approach of spelling out the first usage Azure Command-Line Interface (Azure CLI) w/o the "for Mac, Linux, and Windows", then after referring to it as Azure CLI.
Thoughts?

There appear to be a handful of "x-plat cli" left. They're sneaky :)

@karthmut are they in urls or are they in content. I had intentionally left urls that point to github and others unchanged, unless I had changed the file name myself.

Content, there's are some in this file: /virtual-machines-create-multi-vm-deployment-azure-cli.md
Just noticed that it also has just CLI in some spots, not Azure CLI.

@karthmut thank you. I'll clean that up.

yea!!!

Closing, as work has moved to another branch.


Add a DAO layer implementation to retrive user name for a user from UM_USER_ATTRIBUTE table without using LIKE operator

Describe the issue:
Currently, to retrieve  the user name from UM_USER_ATTRIBUTE table we consider user-id as an attribute and use the LIKE operator from the query to get the value. But in the unique id case this is not nessary we can have a DAO implementation without the 'LIKEkeyword to get the USER NAME from USER ID from same table. SInce thisLIKE` operation is costly in performance this needs to be changed in the future.
 AND UM_USER_ATTRIBUTE.UM_PROFILE_ID=? " +
            "AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?";

https://github.com/wso2/carbon-kernel/blob/4.6.x/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/jdbc/JDBCRealmConstants.java#L279
https://github.com/wso2/carbon-kernel/blob/4.6.x/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/jdbc/UniqueIDJDBCUserStoreManager.java#L2256

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


"Knowing Redis" section in documentation has the wrong link for meanings.

Bug Report
Current Behavior
"Knowing Redis" section in documentation has the wrong link for meanings.  Clicking on "meanings" is taking to "https://www.google.com/search?q=nosoql+acronym" instead of
"https://www.google.com/search?q=nosql+acronym"
Expected behavior/code
Meanings should be tied to "https://www.google.com/search?q=nosql+acronym" instead of "https://www.google.com/search?q=nosoql+acronym"
Environment
5.1.6.RELEASE document
Possible Solution
Fix associated link.

Fixed via #1051


How to fix blurry PyPlot plots in HiDPI machine in jupyter?

In a hidpi machine, the inline plots of jupyter via PyPlot.jl are blurry.
Previously, I usually use the PyPlot.svg(true) option. However, this will slow down the browser considerably if the plot is really large.
I noticed in a jupyter python session, one can do %config InlineBackend.figure_format = 'retina' to fix this issue. However, since %config is not supported by IJulia, how can I set the figure_format option?
This question was posted on https://discourse.julialang.org/t/how-to-fix-blurry-pyplot-plots-in-hidpi-machine-in-jupyter/33471 but was not getting any attention.

Basically, someone needs to dig through the Jupyter code to see what this %config option actually does…

Relevant code:

https://github.com/ipython/ipython/blob/a6082c6ff799e4ec30ad24afbfc5f1550185934d/IPython/core/pylabtools.py#L138-L147
https://github.com/ipython/ipython/blob/d262f0c4bda68e07de3c20be78606f13fc4bcba1/IPython/core/display.py#L1074-L1305
https://github.com/ipython/ipython/blob/a6082c6ff799e4ec30ad24afbfc5f1550185934d/IPython/core/pylabtools.py#L112-L114

Basically, if this setting is true, it doubles the DPI, and then returns some corresponding metadata to the front-end.

As a temporary hack, I've found success on OSX by just applying a little CSS with Stylebot, a Chrome browser extension that lets you apply arbitrary CSS rules to pages. The css just scales the image by 2x.
.output_subarea.output_png > img {
    zoom: 50%;
}


Issue/4954 broken module v1

Description
If the inmanta_plugins/<themodule> directory already exists, building a v1 module using "inmanta module build" result in a broken .whl file structure:
inmanta_plugins/<themodule>/plugins/__init__.py instead of inmanta_plugins/<themodule>/__init__.py.
this ticket fixes this.
closes #4954
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Pull request rejected by merge tool. The tests for this branch did not succeed.

Processing this pull request

Merged into branches master in 257de2e4cc75af29a194e5d09444285557003b55


drawio: 19.0.3 -> 20.2.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/drawio/versions.
meta.description for drawio is: "A desktop application for creating diagrams"
meta.homepage for drawio is: "https://about.draw.io/"
meta.changelog for drawio is: "https://github.com/jgraph/drawio-desktop/releases/tag/v20.2.3"
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 20.2.3 with grep in /nix/store/a8rkdphb859hq53z3rfsifrl0zc7bm70-drawio-20.2.3
found 20.2.3 in filename of file in /nix/store/a8rkdphb859hq53z3rfsifrl0zc7bm70-drawio-20.2.3

Rebuild report (if merged into master) (click to expand)

5 total rebuild path(s)

5 package rebuild(s)

First fifty rebuilds by attrpath
drawio
drawio-headless
pandoc-drawio-filter
python310Packages.mkdocs-drawio-exporter
python39Packages.mkdocs-drawio-exporter

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/a8rkdphb859hq53z3rfsifrl0zc7bm70-drawio-20.2.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A drawio https://github.com/r-ryantm/nixpkgs/archive/487a681bfce4e38aad69b8090aeecf32f8667c13.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/a8rkdphb859hq53z3rfsifrl0zc7bm70-drawio-20.2.3
ls -la /nix/store/a8rkdphb859hq53z3rfsifrl0zc7bm70-drawio-20.2.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

5 packages built:

drawio
drawio-headless
pandoc-drawio-filter
python310Packages.mkdocs-drawio-exporter
python39Packages.mkdocs-drawio-exporter

Maintainer pings
cc @DarkOnion0 for testing.

Result of nixpkgs-review pr 185298 run on x86_64-linux 1

5 packages built:

drawio
drawio-headless
pandoc-drawio-filter
python310Packages.mkdocs-drawio-exporter
python39Packages.mkdocs-drawio-exporter


Extend the column "appear_to_surface_data"

The table appear_to_surface_data can be seen as a specific property table for appearance features, and It only contains the SurfaceData property. Since this property can also be a local or global reference, we need at least one more column val_reference_type in this table.
I would also like to add one column "id" as the primary key for the table. This allows the importer much easier with higher performance to resolve the global references.

I agree. If we want to support XLinks to surface data objects, then we should add these columns.

I added the two columns to the table appear_to_surface_data (see 52ce3703decc8861d143d481790206a384751e71 and  856b33ce94b6c454e62539caa9a6984144c2857d) to make the Importer/Exporter to support XLinks.

Closing since implemented. val_reference_type should be renamed if we implement #201


Project died ?

Hi
I start using this repo in a project and noticed that getNestedList is not returning correctly the nodes as it should.
Tried with $departments = \App\Models\Department::getNestedList('name');
a child of a node is placed not immeditelly after parent as it should.
It seems the broking part is inside
return array_combine(array_map(function($node) use($key) {
  return $node[$key];
}, $nodes), array_map(function($node) use($seperator, $depthColumn, $column) {
  return str_repeat($seperator, $node[$depthColumn]) . $node[$column];
}, $nodes));

because if I use return nodes just before that part all is fine

sorry I was confused ! code is working great


Priority 2 accessibility issue: Focus element colour contrast

What

Non-text elements fall below the minimum colour contrast ratio requirement of 3:1, against adjacent colour.
The focus indicator colour used throughout the site falls below the minimum colour contrast ratio requirement of 3:1 due to the outline colour: #5cb8bf and background colour: FFFFFF having a contrast ratio of 2.3:1 and due to the use of transparency this is further lowered to a ratio of 1.8:1.
Solution:
Ensure that focus indicators meet the minimum colour contrast ratio of at least 3:1 against adjacent colour to provide a clearly visible focus indicator for users with vision impairments.
This issue occurs throughout the service.
Keyboard user:
“I found that the pale blue focus highlighting was difficult to see throughout the majority of the website, a darker or better contrasting colour would improve the experience when navigating, making it easier to keep track of focus.”
Where

https://wellcomecollection.org

@GarethOrmerod do you have a preference for the colour we should use instead?

Looking at the focus state colour contrast against: white (#ffffff), charcoal (#323232), yellow (#ffce3c) and cream (#f0ede3) we current don't have a colour which has sufficient contrast.
The closest in our existing palette is cyan (#298187) which fails with 2.79:1 against charcoal. A very slight adjustment to #2B888F however does pass. I think this is also ok with the subtle shades used in the viewer.
We also have controls in the viewer which sit over images which is difficult to guarantee contrast for in every instance.


Backward-compat support setting proxy via environment variables

The doc says the proxy can be set by the env variables, but it doesn't work for the agent plugin.
Add this backward-compat support so that it won't break the customer who uses this way of proxy configuration in pipeline artifact task.
VSTS_HTTP_PROXY -> proxy url
VSTS_HTTP_PROXY_USERNAME -> username
VSTS_HTTP_PROXY_PASSWORD -> password

@mjroghelia - can you please review. Thanks

/azp run

/azp run


Dev master

Coverage increased (+1.3%) to 63.845% when pulling 091a359bb5472d76dc54324fdc399f838220bc87 on dev-master into 91559df152dc8f4d52113cdd8e7301b3d7367817 on master.


Minifront & connecting to non-prax wallets

There is a BETA version of the Prax wallet that allows external folks to test out new versions before the prod version is released.
At the moment, it cannot connect to minifront as it hard-codes Prax as an exclusive wallet:
https://github.com/penumbra-zone/web/blob/2381922e7abd706057cf2e5235d71f545a2ac28a/apps/minifront/src/prax.ts#L5
We should change this file's assert methods to automatically detect any Penumbra wallet and connect to it (likely the first one listed in the Record<string, PenumbraProvider> of getProviders(). This way, both the prod and beta extensions can be used to connect to minifront.

@grod220 are we going to let users choose the provider? Let's say users have two extensions installed: Prax and Prax Beta. What should the click to "connect button" do?
I'd propose creating a dialog with all options of injected providers to let users select one. If only one is available, no need for showing the dialog

I'd propose creating a dialog with all options of injected providers to let users select one. If only one is available, no need for showing the dialog

This sounds good to me 👍


Get started link

...points to grabbit; it should probably point to the sphinx docs.

Hi @tyarkoni! @rmak15 and @asidwell and I are working through some github workflows.
We're going to fix this link and send a pull request! Ping if there's any problem or if someone else is working on it! ✨

Closed in #223


Parental control issue

Describe the bug
I have parental control on my account. When I try to update a game with the following command, truckersmp-cli fails to.
Expected behavior
Update a desired game.
Command
truckersmp-cli update ets2mp

Terminal output
Collapsed log
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version<PHONE_NUMBER>
-- type 'quit' to exit --
Loading Steam API...OK
Logging in user %MY_STEAM_USERNAME% to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
ERROR! Failed to install app '1887720' (Parental control blocked)
SteamCMD exited abnormally

Information

OS:  Ubuntu 22.10
Proton or Wine version: Proton 7.0-6
truckersmp-cli version: <IP_ADDRESS>

Additional context
It would be great to ask for Family View password (if Steam API allows that)

We don't do anything special with steam logins, this is all handled by SteamCMD itself.
Sadly I don't see anything meaningful in regards to this error:

https://old.reddit.com/r/SteamCMD/comments/m7bfga/anybody_know_how_to_enter_parental_unlock_code_in/
@bRequireSignedParentalSettings

If true, a valid set of signed parental settings is required when logging in in offline or no connection mode

@nParentalSettingsLogLevel

Control the amount of spew written to the parental log file

The log could include something interesting altough I doubt that. If you feel adventurous you can try to play around with the log levels and see if there's more log output somewhere. 4 is the default - my guess is that 0 is everything?
https://github.com/truckersmp-cli/truckersmp-cli/blob/d44037cbf090dc7430ed93f9c9ed1b4af908e918/truckersmp_cli/steamcmd.py#L123-L131
 steamcmd.run(
     [
+        "+@nParentalSettingsLogLevel", %LOG_LEVEL%,
         "+@sSteamCmdForcePlatformType", "windows",
         "+force_install_dir", gamedir,
         "+login", Args.account,
         "+app_update", Args.steamid, "-beta", branch, "validate",
         "+quit",
     ]
 )

I see. Thanks for replying quickly.
So it's a SteamCMD issue and we can't do anything about it. According to the Reddit thread and what I faced with the bug is still unfixed.
I'm closing this issue then. Thank you for your work. ❤


About lora finetuning of 2:4 sparse and sparse quant models

I would like to thank for a great repo.
I have been testing the newly released sparse quant models and was amazed by speedup in both latency and throughput.
I just have some doubts regarding finetuning of 2:4 sparse models.
From what i understood, the model is first sparsified and then fully trained on some data to create sparse llama base model.
As this is not instruction tuned, we do another finetuning on instruction data (which is much smaller). But this still takes as much memory but lesser time.
The recipe provided in the examples, starts with a dense model and does sparsification based on calibration data. Then fine tuning is applied to create the sparse model to regain accuracy.
I would like to know if we can start with a sparse base model (like Sparse Llama 3.1 8B), and create a lora adapter using custom dataset. There can also be sparsity speedup for training lora adapters, is this possible? This would take a lot memory than finetuning step after sparsification.
Does this make sense, assuming VLLM supports serving sparse models with lora?
Can all this be also applied to sparse + w4a16 models to get Qlora +sparsity training and inference?
I would like to contribute if anyone points me in the right direction.
Thanks
Arun

Hey @arunpatala - your understanding is correct!

The SparseLlama models (https://huggingface.co/neuralmagic/Sparse-Llama-3.1-8B-2of4) are intended to be fine-tuned onto a downstream dataset. We are working on some examples of how to do this further fine-tuning using llm-compressor, but these pathways

The examples in the repo do "sparse-fine-tuning" (see: https://arxiv.org/abs/2310.06927 for more details on the method).

The LoRA pathway you described:

Train LoRA adapters on the 2:4 sparse base model is 100% something that we want to support and intend to support, however we do not currently have the bandwidth to work on this for the next couple of months. We would 100% welcome an implementation if this feature is something you are interested in contributing

In terms of what the feature will enable:

You should be able to see compression during the LoRA fine-tuning from 2:4 sparsity + quantization. However, since we have not added CUDA kernels for acceleration of 2:4 sparsity to compressed-tensors (only in vllm), you will not see kernel level speedup. However, the weight compression will increase the amount of batching you can do, which may help end-to-end speed
HOWEVER, this feature is still very valuable, since if you train a LoRA adapter on top of the 2:4 sparse model, if you deploy the model with the unmerged adapter, you will get the benefit of faster deployment in vLLM! This is a KILLER user story

The key item here will be working on our integration with HFQuantizer (https://huggingface.co/docs/transformers/quantization/compressed_tensors) ... since most LoRA training uses HF peft, we need to iron out the user story of making sure the 2:4 models can run properly though the integration.
If you're interested in taking this on --- we can connect over slack or live to discuss scoping!

cc @horheynm and @dsikka

Sneak preview:
We are launching support for 2:4 + fp8 in vllm next week, so this feature could be very valuable for deploying on H100s.
Performance snapshot :)

Hi,
I’d be interested in contributing to the implementation of this feature. Please share the necessary details and pointers to help me get started. I would also appreciate it if you could verify my understanding:

Current Integration with Compressed-Tensors:

As I understand, the base sparse model is not yet utilizing compressed-tensors. To make it compatible with Hugging Face (HF), we need to integrate HFQuantizer to load and save sparse models in a compressed format.
Sparse + GPTQ models are already using compressed-tensors. Are these tensors loaded into GPU memory in a compressed format, or are they decompressed before being loaded?
Does this suffice memory savings and increase batch size?

Inference and Training Acceleration:

When you mention that the acceleration for 2:4 sparsity in inference is not yet added to compressed-tensors, does this also apply to training (e.g., QLoRA fine-tuning)?
Does llm-compressor already have these necessary kernels?

LoRA Fine-Tuning with Sparsity:

If we use a base sparse model, QLoRA fine-tuning should be straightforward, though without speed benefits.
However, merging the LoRA adapter currently might result in the loss of sparsity. One potential solution is to mask the LoRA weights with the sparse weight mask during training. For example:
output = SparseLinear(input) + mask ( Lora(input))
This approach could enable LoRA fine-tuning of sparse models without sacrificing sparsity.
Even if there is no speedup during LoRA training of sparse models, the merged model would retain sparsity, leading to faster inference when tuned on custom datasets.

Please point me what things are missing in current implementation. And where I could the related code.
Thanks
Arun
I have found the following related links:
HFQuantize
compressed_tensors
Quantization
compressed-tensors
marlin_24

Hi @arunpatala:

Our sparse models are supported in compressed-tensors and we are currently in the process of enabling loading then through HFQuantizer through this PR: https://github.com/huggingface/transformers/pull/34719#discussion_r1876921495
Compressed models are loaded in their compressed format and then each layer is decompressed before its forward pass. This is the case when run_compressed is set to True. When it is False, we decompress the entire model after loading.
The general lifecycle of how quantized parameters are updated can be seen through here:  https://github.com/neuralmagic/compressed-tensors/blob/2dcbc9d1dd3f4dc29c280efab481b9f0cfde0a27/src/compressed_tensors/quantization/lifecycle/apply.py#L105
Generally speaking, neither llm-compressor nor compressed-tensors have CUDA kernels for acceleration. This is only in vllm. The focus of decompression in compressed-tensors is primarily for accuracy testing


Functionary model fails to correctly execute functions with autogen

When using autogen I can't get functionary to call the defined function. The exact same example using chatgpt-3.5-turbo works as expected.
The model is loaded in lm-studio.
This is the request the lm-studio api gets:
Received POST request to /v1/chat/completions with body: {
  "messages": [
    {
      "content": "For currency exchange tasks, only use the functions you have been provided with. Reply TERMINATE when the task is done.",
      "role": "system"
    },
    {
      "content": "How much is 112.23 Euros in US Dollars?",
      "role": "user"
    }
  ],
  "model": "meetkai/functionary-small-v2.4-GGUF/functionary-small-v2.4.f16.gguf",
  "stream": false,
  "tools": [
    {
      "type": "function",
      "function": {
        "description": "Currency exchange calculator.",
        "name": "currency_calculator",
        "parameters": {
          "type": "object",
          "properties": {
            "base": {
              "properties": {
                "currency": {
                  "description": "Currency symbol",
                  "enum": [
                    "USD",
                    "EUR"
                  ],
                  "title": "Currency",
                  "type": "string"
                },
                "amount": {
                  "default": 0,
                  "description": "Amount of currency",
                  "minimum": 0,
                  "title": "Amount",
                  "type": "number"
                }
              },
              "required": [
                "currency"
              ],
              "title": "Currency",
              "type": "object",
              "description": "Base currency: amount and currency symbol"
            },
            "quote_currency": {
              "enum": [
                "USD",
                "EUR"
              ],
              "type": "string",
              "default": "USD",
              "description": "Quote currency symbol"
            }
          },
          "required": [
            "base"
          ]
        }
      }
    }
  ]
}

The output of the llm begins with the following and never calls the provided function:

To perform this calculation, we need to know the exchange rate from Euros (EUR) to US Dollars (USD). The exchange rate can fluctuate and it may be different today than it was when you read this instruction. As of my last update in April 2023, the approximate conversion rate for

example.py
from typing import Literal

from pydantic import BaseModel, Field
from typing_extensions import Annotated

import autogen
from autogen.cache import Cache

function_caller_config_list = [
{
        'model': 'meetkai/functionary-small-v2.4-GGUF/functionary-small-v2.4.f16.gguf',
        'api_key': 'lm-studio',
        'base_url': 'http://localhost:1234/v1'
    }
]

function_calling_llm_config = {
    "config_list": function_caller_config_list,
    "timeout": 120,

}

CurrencySymbol = Literal["USD", "EUR"]

def exchange_rate(base_currency: CurrencySymbol, quote_currency: CurrencySymbol) -> float:
    if base_currency == quote_currency:
        return 1.0
    elif base_currency == "USD" and quote_currency == "EUR":
        return 1 / 1.1
    elif base_currency == "EUR" and quote_currency == "USD":
        return 1.1
    else:
        raise ValueError(f"Unknown currencies {base_currency}, {quote_currency}")

class Currency(BaseModel):
    currency: Annotated[CurrencySymbol, Field(..., description="Currency symbol")]
    amount: Annotated[float, Field(0, description="Amount of currency", ge=0)]

user_proxy = autogen.UserProxyAgent(
    name="user_proxy",
    is_termination_msg=lambda x: x.get("content", "") and x.get("content", "").rstrip().endswith("TERMINATE"),
    human_input_mode="NEVER",
    max_consecutive_auto_reply=10,
)

chatbot = autogen.AssistantAgent(
    name="chatbot",
    system_message="For currency exchange tasks, only use the functions you have been provided with. Reply TERMINATE when the task is done.",
    llm_config=function_calling_llm_config,
)

def currency_calculator(
    base: Annotated[Currency, "Base currency: amount and currency symbol"],
    quote_currency: Annotated[CurrencySymbol, "Quote currency symbol"] = "USD",
) -> Currency:
    quote_amount = exchange_rate(base.currency, quote_currency) * base.amount
    return Currency(amount=quote_amount, currency=quote_currency)

autogen.agentchat.register_function(
    currency_calculator,
    caller=chatbot,
    executor=user_proxy,
    description="Currency exchange calculator.",
)

with Cache.disk() as cache:
    # start the conversation
    res = user_proxy.initiate_chat(
        chatbot, message="How much is 112.23 Euros in US Dollars?", summary_method="last_msg", cache=cache
    )

Hi, I believe it is because LM-Studio's server is not fully compatible with Functionary in terms of function-calling. Mainly, the tools schema is not generated correctly by LM-Studio's OpenAI server, and the parsing of the raw text to convert to tools.
Our model requires the tools to be passed in following a certain Typescript schema as mentioned here. However, LM-Studio's server does not have this schema generation specific to Functionary. Therefore, the model is not given the correct tools schema.
A way to enable tool use will be to generate the schema on your end and pass it in a system message to LM-Studio's server. The generate_schema_from_functions function in functionary/schema.py is responsible for generating the tools schema. The code below works for me:
# Chat with an intelligent assistant in your terminal
from openai import OpenAI
from pydantic import BaseModel, Field
from typing import Optional

from schema import generate_schema_from_functions

# Point to the local server
client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")

class Function(BaseModel):
    name: str
    description: Optional[str] = Field(default="")
    parameters: Optional[dict] = None

tool = {
    "type": "function",
    "function": {
        "name": "get_current_weather",
        "description": "Get the current weather",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "The city and state, e.g. San Francisco, CA"
                }
            },
            "required": ["location"]
        }
    }
}

history = [
    {"role": "system", "content": generate_schema_from_functions([tool["function"]])},
    {"role": "system", "content": "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. The assistant calls functions with appropriate input when necessary"},
    {"role": "user", "content": "What is the weather in Hanoi?"},
]

while True:
    completion = client.chat.completions.create(
        model="meetkai/functionary-small-v2.4-GGUF",
        messages=history,
        temperature=0.1,
        tools=[tool],
        stream=True,
        stop="<|stop|>"
    )

    new_message = {"role": "assistant", "content": ""}

    for chunk in completion:
        if chunk.choices[0].delta.content:
            print(chunk.choices[0].delta.content, end="", flush=True)
            new_message["content"] += chunk.choices[0].delta.content

    history.append(new_message)

    # Uncomment to see chat history
    # import json
    # gray_color = "\033[90m"
    # reset_color = "\033[0m"
    # print(f"{gray_color}\n{'-'*20} History dump {'-'*20}\n")
    # print(json.dumps(history, indent=2))
    # print(f"\n{'-'*55}\n{reset_color}")

    print()
    history.append({"role": "user", "content": input("> ")})

The output will be:

<|from|> assistant
<|recipient|> get_current_weather
<|content|> {"location": "Hanoi"}

Note that since LM-Studio is not using our custom handling of the raw output text, there is no parsing of the output text to return any tool calls. Thus you'll need to write your own parser to parse the raw text yourself following the prompt template in the link above.
Alternatively, you can try with our vLLM server or the llama-cpp-python integration. Our vLLM OpenAI-compatible server works with either the standard HF weights or the new 4-bit AWQ weights. Our OpenAI-compatible server in llama-cpp-python is detailed here.
Hope this helps!


Date typo

What this PR does / Why we need it
Fixes the date on header
Some questions

[X] I have read the contributing guidelines
[X] I abide by this repository Code of Conduct
[X] I understand that my PR won't be merged until Travis gives a "green light"

Just a date change.


"authorize null" because there is a null origin from the out-of-browser login

An interesting usage of SolidOS seems to not work properly. Authorization related.
see thread: https://gitter.im/solid/solidos?at=63236a8d458f823ce084af48
Also followup: https://gitter.im/solid/solidos?at=63248e7c72ad51741fe371f8

We already have an issue on this.  It is not specific to SolidOS.  https://github.com/SolidOS/solidos/issues/183#issuecomment-1257074653


Fix viewing generated code in Observatory on Windows

For GCC and Clang, long and unsigned long are 64-bit on 64-bit platforms and 32-bit on 32-bit platforms, while on Windows they're always 32-bit. To fix this, I've changed GetIntegerId and GetUnsignedIntegerId to use the long long variants of strtol and strtoul on 64-bit platforms.
Closes #30201

Actual review here https://dart-review.googlesource.com/c/sdk/+/84740
(cc @rmacnak-google)


Fix for issue #121

Some of the angular dependencies need to be peer dependencies for AOT to work.  Here's a description: https://medium.com/@isaacplmann/making-your-angular-2-library-statically-analyzable-for-aot-e1c6f3ebedd5
I believe this should fix issue #121.
It might also be nice to be less strict in the rest of the dependencies (e.g., use "@angular/http": "^4.0.0" instead of the strict only 4.0.0 used right now).  Let me know if that sounds like a good idea and I can do another pull request.

@stefanheule I came across that article last week while doing a bit of research. Have you tested this? Does it solve the issue?

I'm not super familiar with node packages, but here is what I did: I tried to build the demo project after updating to the latest version of all packages, and the build fails with the error message from #121.  Then, I applied the changes from this pull request to ionic-audio, and again tried to build the demo project with the updated dependencies, and now it works.
So yes, I think this does solve the issue.

You have to move all the dependencies to devDependencies and npm build before npm publish
Ref: https://github.com/arielfaur/ionic-audio/pull/102/files?diff=unified#diff-b9cfc7f2cdf78a7f4b91a753d10865a2R14

Hey @stefanheule can you test and confirm #131
https://github.com/arielfaur/ionic-audio/pull/131#issuecomment-306937752 this will be helpful

Yes.  I'll close this pull request in favor of #131 then.


about Home UI

Home page  not loading properly.

Sorry, @janakaedirisinghe Last week I tried to update the UI and added some new feature called Stats http://www.githubstats.com/stats which actually generates page views of a particular repository. But due to lack of time, I had to push uncompleted and messy code. you can see it in server.js, it's actually a mess. Next few weeks, I will clean this up.


Integrate JIRA 'shepherd' field

The Spark SQL team is experimenting with using the 'shepherd' field in JIRA for tracking assignments of pull requests to reviewers.  It would be cool to integrate this into Spark PRs.  A few ideas of what this might entail:

Display the shepherd on the pull request list.
When clicking on a user details page, have a list for the pull requests that they're currently shepherding.  Below this list, we could keep the list of pull requests that they've commented on but are not shepherding.
Add shepherding metrics statistics to the "all users" page to make it easier to spot which reviewers are overloaded.

It turns out that displaying the Shepherd column is easy (I wrote the code for this in ~20 minutes), but the hard part is linking JIRA accounts to GitHub / Spark PRs ones. The easiest way to do this might be to perform the linkage using a combination of usernames and emails augmented with some manual linkage. This is going to be a bit non-trivial, though.

Decided to re-scope this issue to only cover the field display; linking + metrics can be done in followup tasks.
The original scope included the following:

When clicking on a user details page, have a list for the pull requests that they're currently shepherding.  Below this list, we could keep the list of pull requests that they've commented on but are not shepherding.
Add shepherding metrics statistics to the "all users" page to make it easier to spot which reviewers are overloaded.


docs: experimental usage for sealos apply

Signed-off-by: fengxsong<EMAIL_ADDRESS>

Related to issue https://github.com/labring/sealos/issues/1480


Improve patch client

This PR improves the client request. Before, when the clients needs to do a patch, he needs to put the key with the 'id' of the entity.
Now, with this commit, it is not necessary anymore.

Coverage remained the same at 64.237% when pulling bc0df145941d7fea90e0ad2fd9981d963a2dffeb on eliasreis54:improve-patch-client into b90deb905edd3fdb3009a5525e310cd17ead7f3d on feroult:master.