[WIP] Higher kinded types

This is the start of an attempt at creating a PR for adding support for higher kinded types (#1213). It's very incomplete but I managed to get the basics working enough that I figured it's worth getting some feedback on.
The only syntax I've added so far is the ability to create type parameters that have their own type parameters. I haven't gotten as far as adding any type of T<*> syntax yet so they have to be named right now. Essentially this is an implementation of the third option @Artazor proposed at https://github.com/Microsoft/TypeScript/issues/1213#issuecomment-275222845. I used that comment to get me started so thank you @Artazor, and also thanks to @gcanti for his blog post and fp-ts library which I've been using for reference.
I've only attempted using interfaces and classes as instantiations of generic type parameters so far. That is partially a result of not being finished, but also partially because internally those are implemented to be much easier to use with generics, so I'm not sure yet how well generic type aliases will eventually work with this.
Examples of what works right now:
interface Functor<Container<_T>, A> {
    map<B>(f: (a: A) => B): Container<B>;
}

 // FunctorX passes itself as a generic type parameter to Functor
interface FunctorX<A> extends Functor<FunctorX, A> {
    map<B>(f: (a: A) => B): FunctorX<B>;
    xVal: string;
}

interface FunctorY<A> extends Functor<FunctorY, A> {
    map<B>(f: (a: A) => B): FunctorY<B>;
    yVal: A;
}

declare const initialX: FunctorX<string>;
declare const initialY: FunctorY<string>;

function staticMap<F<_T> extends Functor<F, _T>, A, B>(fa: F<A>, f: (a: A) => B): F<B> {
    const result = fa.map(f);
    return result;
}

const resultX = staticMap(initialX, val => val.length);
const expectX: FunctorX<number> = resultX;

const resultY = staticMap(initialY, val => val.length);
const expectY: FunctorY<number> = resultY;

const resultX2 = staticMap(initialX, val => [val]);
const expectX2: FunctorX<string[]> = resultX2;

const resultY2 = staticMap(initialY, val => [val]);
const expectY2: FunctorY<string[]> = resultY2;

interface FMap<A, B> {
    (a: A): B
}

interface StaticFunctor<T<_T>> {
    <A, B>(a: T<A>, fmap: FMap<A, B>): T<B>;
}

interface LiftedResult<T<_T>> {
    <A, B>(f:  FMap<A, B>):  FMap<T<A>, T<B>>
}

declare function stringToNumber(a: string): number
declare function lift<T<_T>>(f: StaticFunctor<T>): LiftedResult<T>
declare const arrayFunctor: StaticFunctor<Array>

const liftedArray = lift(arrayFunctor);
const strArrayToNumArray = liftedArray(stringToNumber);

const arrayOfStrings = ["1", "2", "3"] // string[]
const arrayOfNumbers = strArrayToNumArray(arrayOfStrings); // number[]
const result: number[] = arrayOfNumbers; // assignment works

const expectError = strArrayToNumArray(arrayOfNumbers);
 // error as expected because number[] cant be passed to argument that needs string[]

Let me know what you think. I especially could use examples of patterns that people would expect to work with higher kinded types so I can create more tests.

I find that @masaeedu is an endless source of example code. Here's his GenericMaybe:
// Based on provided sample by Asad Saeeduddin

// just :: a -> T a
// none :: T a
// match :: { "just" :: a -> b, "none" :: b } -> T a -> b
const GenericMaybe = ({ just, none, match }) => {
    // Functor
    // map :: (a -> b) -> T a -> T b
    const map = f => match({ none, just: value => just(f(value)) });

    // Monad
    // of :: a -> T a
    const of = just;
    // chain :: (a -> T b) -> T a -> T b
    const chain = f => match({ none, just: f });

    return { map, of, chain };
};

// A concrete representation of a Maybe
{
    const MAYBE = Symbol("maybe");

    const just = value => ({ [MAYBE]: value });
    const none = {};

    const match = ({ just, none }) => maybe =>
        MAYBE in maybe ? just(maybe[MAYBE]) : none;

    const { map, chain, of } = GenericMaybe({ just, none, match });

    // Examples
    console.log([
        map((x: number) => x + 2)(of(42)),
        map((x: number) => x + 2)(none),
        chain((x: number) => (x > 40 ? none : of(x * 2)))(of(42)),
        chain((x: number) => (x > 40 ? none : of(x * 2)))(of(32)),
        map((x: number) => none)(of(42)),
        map((x: number) => of(x * 2))(of(42))
    ]);
}

I might have to checkout your PR myself to test the limits. Stellar work so far though, if all those examples type correctly already.

This works for me on your branch!
interface Fix<F<_T>> {
  unFix: F<Fix<F>>;
}

interface ListContainer<A> {
  h: number;
  rest: A;
};

type List = Fix<ListContainer>;

const nil: List = { unFix: (<ListContainer<never>>undefined) };
const x: List = nil;
const y: List = {
  unFix: { h: 4, rest: x }
};

function arrayToList(xs: number[]): List {
  return xs.reduce((rest, h) => {
    return { unFix: { h, rest } }
  }, nil);
}

function listToArray({ unFix: xs }: List): number[] {
  return (xs === undefined) ? [] : listToArray(xs.rest).concat(xs.h);
}

const result: number[] = listToArray(arrayToList([1, 2, 3]));

I'm not sure it's possible to make List generic because there is no way to partially apply generics, or create anonymous type lambdas.

Pushed some updated code today that I think is a good step forward in both implementation quality and functionality.
In the initial commits a few weeks ago, instantiating generic type parameters worked mostly by just blindly throwing type arguments into the new type without knowing that they actually belonged where they were being put. In the updated implementation the generic type parameter's arguments are neatly mapped into place in the new type in the same way as all other type parameters.
In terms of functionality, everything I changed was to make the following wall of code work correctly:
/*** Setup code ***/
declare function stringLength(strarg: string): number;

export interface Functor<A, Container<_T>> {
    map<B>(f: (a: A) => B): Container<B>;
}
declare class FunctorX<A> implements Functor<A, FunctorX> {
    map<B>(f: (a: A) => B): FunctorX<B>
    uniqueMethodX(): A | undefined
}
declare class InvalidFunctor<A> {
    map<B>(f: (a: A) => B): FunctorX<B>
    uniqueInvalidFunctorMethod(): void
}

function lift<C<_T>>(someStaticFunctor: <A, B>(ca: C<A>, f: (a: A) => B) => C<B>):
    <A, B>(f: (a: A) => B) =>
        <C2<_T> extends C<_T>>(ca: C2<A>) => C2<B> {
    return f => ca => someStaticFunctor(ca, f);
}

function staticFunctor<C<_T> extends Functor<_T, C>, A, B>(ca: C<A>, f: (a: A) => B): C<B> {
    return ca.map(f);
}

declare const functorXString: FunctorX<string>
const stringArray = ["not explicitly declared to implement functor"]; // string[]
declare const invalidFunctor: InvalidFunctor<string>;

/*** Tests ***/

// lifts staticFunctor function, which has the constraint that it works with types that implement the Functor interface
const liftedStaticFunctor = lift(staticFunctor);

// liftedStringLength has type <C<*> extends Functor<*, C>>(ca: C<string>) => C<number>
// (note the * is still pseudo-code for now)
const liftedStringLength = liftedStaticFunctor(stringLength);

const result1 = liftedStringLength(functorXString); // FunctorX<number>
result1.uniqueMethodX(); // we can call methods from FunctorX because result1 is still a FunctorX

const result2 = liftedStringLength(stringArray); // number[]
result2.filter(num => num > 10); // we can call methods from Array because result2 is still an Array

const expectError = liftedStringLength(invalidFunctor); // error

Making the expectError line actually have an error was the trickiest part. InvalidFunctor almost implements Functor because it has a map method that accepts a function <A, B>(a: A) => B and returns a container type that implements Functor, however that container is a FunctorX<B> not an InvalidFunctor<B>.
At runtime the expectError line would not fail, but allowing it would eventually cause a runtime error if you called expectError.uniqueInvalidFunctorMethod() because you thought you had an InvalidFunctor<number> when you really have a FunctorX<number>.
Still a bunch of things to do, probably the biggest one is figuring out how to handle cases where the type parameters don't match exactly, but I'm optimistic they are doable.

Would love to have a feedback from the TS team on that PR (not the implementation details but the general stance on including that feature).

I'm not sure I understand everything 100%.
When you say:

The reason is that you are defining a value that has a type without all its type parameters instantiated. Specifically the second F in F<Fix<F>> still needs its _T type parameter instantiated to something.

Do you mean that it is not possible to pass a type of kind * => * as a generic parameter? In the class case, is the implements clause implements Functor<A, FunctorX> a special case? That appears to do a similar thing of passing a type (constructor) FunctorX without all it's parameters instantiated.
The type of the value for property unFix does have all it's type parameters instantiated (that is, it's a ground type of kind *). Though the type expression does have intermediate sub-expressions who's kind is not *, namely the inner F of kind * => *, where Fix has kind (* => *) => *.
I couldn't quite understand all of @Artazor 's proposal, but is there a difference between how things are treated in value positions (like the type of unFix), and in extends / implements clauses?

I'm guessing your intention was that the missing _T would come from instantiating F with something like Fix<Array<number>> where F becomes Array and _T becomes number (edit: although maybe that wasn't your intention since you did write type List = Fix<ListContainer> later). But the way it works right now and (I think) conceptually the way it should work is that F can only be instantiated with another uninstantiated generic type. So Fix<Array>, and the _T would come later.

The missing _T should be instantiated as the structure get's unfolded (at least that was my intention), so _T becomes Fix<ListContainer> again as you unfold one level. The type parameter of ListContainer doesn't represent the type of the values in the list, but it represents the type of the tail, which should also be a list. I couldn't make the list generic in its values because there is no way to partially apply a generic. But it should look something like this (if it were possible)
interface ListContainer<H,T> {
  h: H;
  rest: T;
};

type List<A> = Fix<ListContainer<A>>; // partially applied version
type List2<A> = Fix< <T>ListContainer<A,T> >; // annonymous type-abstraction version.

I'm not sure I understand everything 100%.

No worries because I'm positive I don't understand everything 100% when it comes to this stuff.

Do you mean that it is not possible to pass a type of kind * => * as a generic parameter? In the class case, is the implements clause implements Functor<A, FunctorX> a special case? That appears to do a similar thing of passing a type (constructor) FunctorX without all it's parameters instantiated.

This is a very good point. I probably need to start actually implementing the validations I've been visualizing sooner than later to make sure they don't end up conflicting with themselves, but I think the answer is going to end up being that in some way or another, values have a kind * meaning they have no type parameters that need instantiating.
That is assuming I can actually implement that anyway. Because while I don't feel like unFix: F<Fix<F>>; makes sense because of the uninstantiated _T, I do feel like something like declare const a: Functor<number, Array> theoretically makes sense (although isn't useful at all compared to Array<number>) because it never results in a value with uninstantiated type parameters. But without actually having it implemented I can't tell you at a glance why one would be allowed but not the other.

The missing _T should be instantiated as the structure get's unfolded (at least that was my intention), so _T becomes Fix<ListContainer> again as you unfold one level. The type parameter of ListContainer doesn't represent the type of the values in the list, but it represents the type of the tail, which should also be a list. I couldn't make the list generic in its values because there is no way to partially apply a generic.

I'm starting to understand I think. Are the type of values always going to be the same within the same list? I assume so since you are converting to and from an array and not a tuple. If so does the following make sense?
interface Fix<T, LC<_T> extends ListContainer<_T>> {
    unFix: LC<T> | undefined;
}
interface ListContainer<T> {
  h: T;
  rest: Fix<T, ListContainer>;
};

const nil = { unFix: undefined };
const y: Fix<number, ListContainer> = {
  unFix: { h: 4, rest: nil }
};

function arrayToList<T>(xs: T[]): Fix<T, ListContainer> {
  return xs.reduce((rest, h) => {
    return { unFix: { h, rest } }
  }, nil);
}

function listToArray<T>({ unFix: xs }: Fix<T, ListContainer>): T[] {
  return (xs === undefined) ? [] : listToArray(xs.rest).concat(xs.h);
}

const result = listToArray(arrayToList([1, 2, 3]));

Although I may still not be understanding because in that code the LC<_T> in Fix is always just instantiated as ListContainer and I don't see anywhere that something more specific could be inferred so there's really no advantage to what I wrote compared to plain:
interface Fix<T> {
    unFix: ListContainer<T> | undefined;
}


Issue an error when using old Traits::Access

Fix #399.
To be merged after releasing 1.2. Will affect platoanalyze if platoengine/platoanalyze#101 not merged there.

Temporarily marking as Draft so that we don't accidentally merge it.

retest this please


Update README.md

This fix comes from https://github.com/nsf/gocode/commit/5bee97b488366fd20b054d0861b89834ff5bbfb2.

Confirmed, the current Gocode in vim and Gocode in emacs screenshots are broken, they lead to a blank page with the text:

Cannot proxy the given URL

Thanks!


Bug: text as placeholder for tab empty states

FILL OUT THE FORM BELOW OR THE ISSUE WILL BE AUTO-CLOSED
Issue Type (check one)

[x] Bug Report
[ ] Feature Idea
[ ] Documentation
[ ] Technical Discussion

Description (Please type a clear and concise description below)
Include text that says something like "Coming Soon" in donations & petitions tabs where we are still filling in the initial list.

I think if any donation or petition is still been worked on, it should not be shown on the client

Ok, that's a better way to do it.


⚠ Processors has degraded performance

In a62a70f, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 46 ms

Resolved: Processors performance has improved in 79930ab.


support latest toolchain and run commands in proxy

Closes #63
Similarly to rustup, fuelup should be the single binary that runs all the Fuel toolchain commands. This means that forc, fuel-core, and the current forc plugins should be executed using fuelup in proxy_mode - fuelup then finds from which toolchain to execute a certain command.
Synopsis
This PR:

contains the infra code to support this proxy cli pattern,
provides the very basic fuelup toolchain install latest command to install the latest toolchain and setup all the dirs in .fuelup, rather than a naive binary downloader like in the minimum viable version.

I will list some important files below to look at while reviewing the code, so you can follow the main pieces:
main.rs:

will either run Fuel toolchain commands in proxy mode, or run fuelup. This is chosen by detecting the first argument from std::env::args(). Depending on which command it is, it either runs in proxy mode (proxy_cli.rs) or fuelup mode (fuelup_cli.rs)

fuelup_cli.rs:

If fuelup is supplied as arg0 it runs like fuelup.
The main change here is that I have finally split the CLI into commands and ops, much like forc, cargo, and other CLI apps.
You might've noticed there is also a lack of an install command from before - since we are installing entire toolchains, this is now delegated to the toolchain command (fuelup toolchain install <toolchain>, where toolchain can now only be latest). Was contemplating leaving fuelup install in as an alias for fuelup toolchain install latest but I decided against this, intuition is that we should encourage users to use the intended command as much as possible.

proxy_cli.rs:

In proxy mode, fuelup runs the inner commands by directly invoking a new process::Command on the downloaded binary now installed under the toolchains directory (for example, $HOME/.fuelup/toolchains/latest-x86_64-darwin-apple/bin). Currently, we only support the latest toolchain. In future, based on the currently set default toolchain or via an option, we should be able to support running a different binary under a different toolchain e.g. forc +nightly build (similar to cargo)

settings.rs:

Contains the representations Settings and SettingsFile of ~/.fuelup/settings.toml. This is the heart of fuelup - we store the default toolchain and other settings here, and fuelup will learn which toolchain to call depending on the value here.
This was mainly lifted off of the rustup implementation since they've solved this nice little problem of reading and writing to/from settings.toml already - no reason to reinvent the wheel here.
This file is important for fuelup default - it will simply read/write from this settings file to set the default toolchain

toolchain.rs:

Contains the representation of a Toolchain in fuelup. Here we implement add_component which downloads binaries to its own toolchain path - this function will be key for implementing #46.

Testing this PR
Because this PR relies on running linked Fuel toolchain binaries through fuelup, we have to build fuelup and move it to .fuelup/bin manually:
First delete fuelup and fuel binaries from .fuelup/bin, and recreate the directory:
rm -rf ~/.fuelup/bin
mkdir ~/.fuelup/bin

Ensure that nothing works:
❯ fuelup
fish: Unknown command: fuelup
❯ forc
fish: Unknown command: forc

in fuelup repo:
cargo build && mv target/debug/fuelup ~/.fuelup/bin

Check fuelup works:
❯ fuelup
fuelup 0.1.3
Fuel Toolchain Manager

USAGE:
    fuelup <SUBCOMMAND>

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    help         Print this message or the help of the given subcommand(s)
    self         Manage your fuelup installation
    toolchain    Install new toolchains or modify/query installed toolchains

Install binaries:
❯ fuelup toolchain install latest
Downloading: forc fuel-core
Fetching forc 0.15.2
Fetching binary from https://github.com/FuelLabs/sway/releases/download/v0.15.2/forc-binaries-darwin_amd64.tar.gz
Unpacking and moving forc to /Users/bh/.fuelup/toolchains/latest-x86_64-apple-darwin/bin
Unpacking and moving forc-explore to /Users/bh/.fuelup/toolchains/latest-x86_64-apple-darwin/bin
Unpacking and moving forc-lsp to /Users/bh/.fuelup/toolchains/latest-x86_64-apple-darwin/bin
Unpacking and moving forc-fmt to /Users/bh/.fuelup/toolchains/latest-x86_64-apple-darwin/bin
Fetching fuel-core 0.8.0
Fetching binary from https://github.com/FuelLabs/fuel-core/releases/download/v0.8.0/fuel-core-0.8.0-x86_64-apple-darwin.tar.gz
Unpacking and moving fuel-core to /Users/bh/.fuelup/toolchains/latest-x86_64-apple-darwin/bin

Installed:
- forc 0.15.2
- fuel-core 0.8.0

The Fuel toolchain is installed and up to date

Check forc works:
❯ forc --version
forc 0.15.2

How do we know the toolchain version switching works?
Currently I'm linking the binaries during the installation process (note: this might not be the best way to do it, but I'm settling for now), so all testing must be done through installation through the fuelup binary.
I quickly manually tested it by:

tweaking values in download_file_and_unpack to download an older version of forc (eg 0.14.5), by updating the DownloadCfg here
added an additional ToolchainName in toolchain.rs (eg. nightly) - currently it only accepts 'latest' as a valid toolchain name so custom toolchain names are not allowed (yet)
run the above installation step to install 0.14.5 forc as the 'nightly' toolchain.
tweak the default_toolchain value inside ~/.fuelup/settings.toml to select which toolchain to run. Typing forc --version should yield you 0.14.5 or 0.15.2 when you switch between the toolchain names.

There should be some way in the near future to be able to spin up a clean environment to test the CLI so that we do not have to manually test it all the time. Then we can test all the different commands of fuelup. IMO this will become easier as fuelup gets more fleshed out - I did not want to spend too much time over-engineering things for the sake of easier testing in the future.
Rustup
rustup's codebase is a lot more sophisticated when it comes to running in proxy mode - namely, the Process is abstracted out so that the team is able to run tests using a TestProcess which allows them to mock env variables, current working directory, and command args. I deliberated using the same pattern but decided not to for now, because their testing infra seems pretty complex and I frankly did not fully grasp it yet - but I wanted to get something started here asap. Perhaps abstracting it out would be useful in a future refactoring PR when fuelup is a bit more fleshed out and when we add e2e tests for fuelup.
Notes
In supporting the toolchain pattern we have to support running binaries via proxy mode within the same change as well, hence this would probably be a big PR unfortunately 😖
~Still a lot of code cleanup to do here - opening as draft first.~ This should be good to go for review

Just to clarify, we don't yet support the forc +<toolchain> build syntax in this PR do we? Happy to leave that for a future PR!

Nope, this does not just yet :/ but it seems like we will just need to parse the 2nd arg after the initial cmd - we can leave it for a future PR imo

I do wonder if we should be using enums for supported Components and Plugins? It might be more idiomatic and type-safe than using a mod with const strings. It does mean we'd be restricted to a closed set though, and it would just be more annoying if we want to support custom components/plugins for whatever reason (though my intuition is we probably don't).

Hmm, I wasn't exactly sure yet so I went with a loose definition of components and plugins when checking if they were supported. rustup also uses a pretty primitive way to check if it's proxyable so I went with something similar to start off - but we can expand on this in future I think?
Hmm, but aren't plugins designed with having community plugins in mind?

Hmm, but aren't plugins designed with having community plugins in mind?

Plugins in general, yes, but the plugins that ship with and are supported by fuelup - we might want to limit these to the particular subset that we can reliably test under this repo. But agreed, we can leave the enum approach to a future PR if it turns out we want it.


Add LZO compression support

If it's really neded. The only available Python lib is python-lzo https://github.com/jd-boyd/python-lzo and it's GPL 2.0 and has limited documentation.
Maybe LZO support is not needed?

LZO support is not really needed


Browser - Connection

[x] Connection
Figma link:
https://www.figma.com/file/2nYhrm0rlJtfJoMwrT51Ep/SubWallet-Apps?type=design&node-id=3916-165641&mode=design&t=RVgBHyCXtpVBBduk-4
https://www.figma.com/file/2nYhrm0rlJtfJoMwrT51Ep/SubWallet-Apps?type=design&node-id=3916-166106&mode=design&t=RVgBHyCXtpVBBduk-4
https://www.figma.com/file/2nYhrm0rlJtfJoMwrT51Ep/SubWallet-Apps?type=design&node-id=3916-166442&mode=design&t=RVgBHyCXtpVBBduk-4

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-192-849-merge-2023-07-03T05-17-47.ipa
Please check issues:

[ ] UI bug on the Connect dApp confirmation

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-192-849-merge-2023-07-06T04-11-18.ipa
Validation passed.


Update upgrade-to-data-lake-storage-gen2-how-to.md

Blobs  which have  any lease  state  or  status  cannot  be  migrated   and  it  fails  the validation step.  Adding  this pointer as  customers  would be  aware  of this  as well and  can take necessary  action accordingly .

@KarthikKanchi7789 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

Thank you for the suggestion. Active leases are one of many issues that will be reported in error.json on validation. This is why this issue and the many other potential validation issues are not itemized in this doc. Thx!
#please-close


e.close ist not a function

Describe the bug
Project crashes after some seconds in preview-window
Link to the blitz that caused the error
https://stackblitz.com/edit/crearis-starter
Steps to reproduce

Start the project
wait until it's completely launched in Preview
wait some seconds ... and it will crash with this message:

ERROR  [uncaughtException] e.close is not a function
at Immediate.closeParserInstance (https://crearis-starter.w-credentialless.staticblitz.com/blitz.bba8d0a5a025db74852964077975228459d6d20b.js:6:371524)
at processImmediate (https://crearis-starter.w-credentialless.staticblitz.com/blitz.bba8d0a5a025db74852964077975228459d6d20b.js:6:307089)
at Object.callback (https://crearis-starter.w-credentialless.staticblitz.com/blitz.bba8d0a5a025db74852964077975228459d6d20b.js:15:258712)
at https://crearis-starter.w-credentialless.staticblitz.com/blitz.bba8d0a5a025db74852964077975228459d6d20b.js:15:339215
at _0x3600ae (https://crearis-starter.w-credentialless.staticblitz.com/blitz.bba8d0a5a025db74852964077975228459d6d20b.js:15:339249)
at _0x25aacd.. (https://crearis-starter.w-credentialless.staticblitz.com/blitz.bba8d0a5a025db74852964077975228459d6d20b.js:15:339443)
Expected behavior
project should run stable
Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots
No response
Platform
Browser name  = Chrome
Full version  = <IP_ADDRESS>
Major version = 107
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 87263749,
  "usedJSHeapSize": 81935861,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = bba8d0a5a025db74852964077975228459d6d20b

Additional context
No response

Hey there! Thanks for reporting this issue. I can confirm that this is a bug on our side. We'll post an update here once this is fixed.

Hi @crearis ! :wave:
Thanks for waiting! I believe this issue is fixed. :tada: I didn't ran into any issues while looking at your blitz, so I think you're good to go. :ship:


New console config for bridge.json

A bridge.json console config to modify the functionality of the Bridge Console.

Name
Type
Description

disabled
bool
Set to true to prevent the Bridge Console from rendering. Default is false.

Example
{
  "console": {
    "disabled": true
  }
}

See Also

https://forums.bridge.net/forum/bridge-net-pro/bugs/4434-combinescripts-and-resources-bridge-console-js-extract-false-doesn-t-exclude

@geoffreymcgill, wouldn't this be better as an attribute?

I think it's best in bridge.json; it's the sort of thing you almost certainly want disabled in a production app (it never makes sense for that console to pop up in front of an end user) and swapping config files for dev/prod builds seems more convenient than making code changes.

@DanTup – Just in case you didn't know, you can create separate bridge.json config files for different build modes:
https://github.com/bridgedotnet/Bridge/wiki/global-configuration#custom-bridgejson-files
Enables you to create bridge.Debug.json and bridge.Release.json files, both of which could inherit from a common bridge.json file with shared configs.
Hope this helps.

Just in case you didn't know, you can create separate bridge.json config files for different build modes:

I didn't know this; I'm sure this will come in useful! 👍

The console config option has been changed
  "console": {
    "disabled": false
  }

->
  "console": {
    "enabled": false
  }


Improve the feature about checking update and auto update

Description

Add notification of the update.
Add options to disable auto-update, notify when an update is available, or download automatically.
Change the default setting in the zip version to notification only.
Disable the automatic download option in the zip version.
Add the button to check an update.

Related Issue

close #417
Motivation and Context

Refer to #417
How Has This Been Tested?

Downgrade version in package.json.
Launch apm.
apm would behave as specified in the configuration.

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

I fixed it.

I fixed them.


chore: do not track api requests via MixPanel

Description
API tracking in Mixpanel is costly us a motza (Over $140 a day to track 1m+ requests. It's the wrong tool for the job.
Comments the logic out for now so we can pause and re-assess without totally removing the code.
Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[x] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
N/A
Risk
Almost 0.
Testing
SwapperApiRequest mixpanel events should stop being reported.
Engineering
☝
Operations
☝
Screenshots (if applicable)
N/A

Current dependencies on/for this PR:

develop

PR #4985   👈

This comment was auto-generated by Graphite.


feat(init): deprecate init and bump deps

fix lint

Will do in some time

Might be a workflow things. I tested locally, and it works for me. There's also warnings of a bad engine in the ci logs, waht do you think?

looks like it's checking the main which is weird, lemme merge and see


Fix race causing autorestart turning off on restart

When application takes a long time to handle SIGTERM there can be a race between application closing by itself and docker calling container.Kill(). If application closes first, Kill() will error because container is already stopped. This will also mean that docker restart will error after container is stopped and restart policies will not try to restart it.
cc @crosbymichael @andrewnguyen
Signed-off-by: Tonis Tiigi<EMAIL_ADDRESS>

Does it need to be an Error log?
Warn or maybe even debug seem ok... might even be ignorable... as your comment says we don't care which function stopped it, just that it's stopped.

@cpuguy83 Changed to warn. Its good to log this because its very unlikely to appear, meaning if you see this in the logs you had some quite weird containers running.

LGTM

LGTM


Add index refresh after config creation and deletion in integration tests

Description
Refactor the calls to Notification config creation and deletion in the integration tests by using helper methods that contain calls to refresh all indices after the config create/delete calls. This is to ensure that the searchable state of the Notification config index is as expected so the assertion calls pass (to avoid flaky failures).
When https://github.com/opensearch-project/notifications/issues/381 is added, these helper methods can be updated to have the refresh policy within the REST call itself. The refactoring of the tests makes it easier to make that change later on.
Issues Resolved
[List any issues this PR will resolve]
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #590 (e8c6ae7) into main (5b9ff98) will not change coverage.
 Consider uploading reports for the commit 4d5f930 to get more accurate results

@@            Coverage Diff            @@
##               main     #590   +/-   ##
=========================================
  Coverage     61.36%   61.36%
  Complexity      112      112
=========================================
  Files            73       73
  Lines          2472     2472
  Branches        265      265
=========================================
  Hits           1517     1517
  Misses          778      778
  Partials        177      177

Flag
Coverage Δ

opensearch-notifications
61.36% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Unable to load Mistral-Nemo fine tune 4-bit / float 32 mlx_lm quantized

Version 0.3.5 Build 8
Model
A model of my own, running on the latest mlx/mlx-lm as of the time of this, built from git source and used to quantize the model.  The model was fine-tuned from Nemo Mistral and fused using mlx_lm.  I can prompt in the CL via mlx_lm.generate --prompt ".. prompt .." --model [.. path ..]
Transformers version
% pip freeze | grep transformers
transformers==4.46.3

Error I'm getting

'ArrayValue filter: rejectattr'

Forgot to provide an update here. This issue is fixed in the latest beta release https://lmstudio.ai/beta-releases

I just tried with that beta (0.3.5) and received the same error.  Is there something you need from me to get more information about the error?

@chimezie could you please link the exact model that your finetune was derived from?
And can you confirm that the build number of your LM Studio install is 0.3.5 build 9? You should see this version in the bottom left corner of the app.
I suspect the issue is related to this https://github.com/huggingface/huggingface.js/pull/988 . We expected build 9 of LM Studio to have deployed that fix.

I tried this on a new Nemo fine-tune, quantized at 4 and 8 bits in latest mlx and was able to load it fine.  Thanks for you help and brilliant product.


Why not just .then(del) instead of .then(()=>del())?

In functions/src/index.ts there are four places where you do .then(()=>del()). Why can't you just do .then(del)?

You are right. .then(del) is perfectly fine here.
On Wed, Jul 1, 2020 at 3:40 AM Jon Kleiser<EMAIL_ADDRESS>wrote:

In functions/src/index.ts there are four places where you do
.then(()=>del()). Why can't you just do .then(del)?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/yysun/apprun-firebase/issues/4, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABJUM752D4WGLU7KBQ2Y2TRZLR5HANCNFSM4ONEDHPQ
.


Make Signed and Unsigned FieldType aware of the own width, and remove bit_width arguments

There is an inconsistency where UnsignedFixedPoint and SignedFixedPoint know their own width, but Signed and Unsigned do not. They all take the bit_width argument in their methods though.
Problems with this

The Fixed types know their width but also take it as an argument. This is a source of errors, and currently requires checking.
It is inconsistent.
It would be nice, in e.g. Python generator accessor.py, if we did not have to pass the bit_width.

This change requires

Removing the DEFAULT_FIELD_TYPE constant
Changning min_value and max_value to properties.
Should also rename the FieldType ABC to RegisterFieldType.

This is a breaking change that does not really create much value for anyone, so do this only when we have other breaking changes that we NEED to do,

Consider moving min_value and max_value properties from field classes to field ABC?


Move editor.html to start nwjs from the root

Move editor.html to start nwjs from the root
Description

Move editor.html to start nwjs from the root
Easier to package the application using the nwjs-builder-phoenix

Platform

Web Version [X]
Windows [X]
Linux [X]

Done


Make it possible to use the human-readable schema format

Category
Cedar editing features
Describe the feature you'd like to request
The human-readable schema format is recommend according to the official documentation: https://docs.cedarpolicy.com/schema/schema.html#schema.
But I don't see a way for this extension to use it directly.
Describe alternatives you've considered
Manually converting the human readable format to the json format. But doing this on every change is painful when designing and iterating on the policies.
I could write the schema in json, but it doesn't support comments. Which makes it hard to reason about in a team
Additional context
No response
Is this something that you'd be interested in working on?

[ ] 👋 I may be able to implement this feature request
[ ] ⚠ This feature might incur a breaking change

I'm working on this now as part of #10.  Would you expect a feature to auto translate to JSON (for use in pre 3.1 versions)?
As a temporary solution, I have defined a .vscode\tasks.json using the Cedar CLI that can be manual run from inside VSCode.  I haven't figured on how to trigger a task "on save" for a specific file extension (but also am spending my time on the built-in extension code).  This does require cedar to be on your path.
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Cedar CLI translate-schema human-to-json",
      "type": "shell",
      "command": "cedar",
      "args": [
        "translate-schema",
        "--schema",
        "${file}",
        "--direction",
        "human-to-json",
        "|",
        "jq",
        ">",
        "${file}.json"
      ]
    }
  ]
}

Thank you for the task idea, that is nice.
I have two thoughts, not sure how related they are to what you're asking:

It would probably be nice to allow the user to select which version of Cedar to use for the extension. For example AVP doesn't support 3.0 so users might want to specify a 2.x version in their workspace (maybe just by specifying the wasm/binary used for cedar)
For how I'm using it, it would just be valuable to have validation/and code suggestions be based on the human-readable format during development. I guess that doesn't require compilation to the JSON format persee, but it could be useful for other tools to read.

pre-release v0.7.2 added support to translate between JSON and human-readable schemas. along with some basic syntax highlighting and navigation.  Either name the file cedarschema or *.cedarschema or Set Language Mode to Cedar Schema
However, IntelliSense (auto-complete) requires the JSON-based schema (for now).  At the top of the Cedar Schema file is a clickable Code Lens line that will run translation (also available in context menu and as Cedar: Translate Cedar schema in command palette.

I assume this can be closed based on #21?

Closing this since pre-release v0.7.3 supports this.  Cedar 2.x vs Cedar 3.x is part of #10


Subscribe is not working while publishing from Python

Hi,
If I subscribe from Node.js to a publisher in Python, subscriber can not receive messages. On the other hand, Node-publisher can send both python-subscriber and node-subscriber, python-publisher can send python subscriber.
Node subscriber:
// Generated by LiveScript 1.4.0
(function(){
  var zmq, sock;
  zmq = require('zmq');
  sock = zmq.socket('sub');
  sock.connect('tcp://<IP_ADDRESS>:3000');
  sock.subscribe('');
  console.log('Subscriber connected to port 3000');
  sock.on('message', function(topic, message){
    return console.log('Received a message related to: ', 'containing message: ', message.toString());
  });
}).call(this);

Node publisher:
// Generated by LiveScript 1.4.0
(function(){
  var zmq, sock;
  zmq = require('zmq');
  sock = zmq.socket('pub');
  sock.bindSync('tcp://<IP_ADDRESS>:3000');
  console.log('Publisher bound to port 3000');
  setInterval(function(){
    console.log('Sending a multipart message envelope');
    return sock.send(['', 'TestMessage(node)!']);
  }, 1500);
}).call(this);

Python publisher
import zmq
import time

context = zmq.Context()
publisher = context.socket(zmq.PUB)
publisher.bind("tcp://<IP_ADDRESS>:3000")

while True:
	time.sleep(1)
	publisher.send("TestMessage")
	print "Sended"

Python subscriber:
import zmq

context = zmq.Context()
socket = context.socket(zmq.SUB)

socket.setsockopt(zmq.SUBSCRIBE, "")
socket.connect("tcp://<IP_ADDRESS>:3000")

while True:
	string = socket.recv()
	print string

You're sending different msg formats.
try console.log(topic), the first parameter of your node subscriber

Problem is that the subscriber callback is never called.

How can I check if zeromq.node is using libzmq-4.x?

The problem was that the libzmq version was not supporting while running npm install zmq command.
Here is the fix:
sudo apt-get purge libzmq-dev
sudo apt-get install lizmq3-dev
npm install zmq


Add extension point dita.build.html5.after.preprocess to HTML5

Signed-off-by: Toshihiko Makita<EMAIL_ADDRESS>Description
Add extension point "dita.build.html5.after.preprocess" to HTML5
Motivation and Context
Implement #3771
How Has This Been Tested?
Tested with DITA-OT 3.6.1 on Windows 10.
Sample plug-in: org.acme.html5.header
org.acme.html5.header.zip
Sample file and test result: dita-samples.zip
dita-samples.zip
Type of Changes

New feature: Add extension point.

Documentation and Compatibility

What documentation changes are needed for this feature?
I searched "doc" folder. But relevant documentation is not found.
Will this change affect backwards compatibility or other users' overrides? : Yes

Checklist

My code follows the code style of this project.: OK
I have updated the unit tests to reflect the changes in my code.: OK

I withdraw this pull-request.
An extension plugin that extends HTML5 plugin will be enough for this purpose.
There is no needs to add extension point to original HTML5 plugin.
https://groups.google.com/g/dita-ot-users/c/YocMwRkP6OE

Signed-off-by: Toshihiko Makita<EMAIL_ADDRESS>Description
Add extension point "dita.build.html5.after.preprocess" to HTML5
Motivation and Context
Implement #3771
How Has This Been Tested?
Tested with DITA-OT 3.6.1 on Windows 10.
Sample plug-in: org.acme.html5.header org.acme.html5.header.zip
Sample file and test result: dita-samples.zip dita-samples.zip
Type of Changes

New feature: Add extension point.

Documentation and Compatibility

What documentation changes are needed for this feature?
I searched "doc" folder. But relevant documentation is not found.
Will this change affect backwards compatibility or other users' overrides? : Yes

Checklist

My code follows the code style of this project.: OK
I have updated the unit tests to reflect the changes in my code.: OK

Hello, @ToshihikoMakita
Thank you for your sharing.
I really need such extension to get the map title dynamically and put it into the header of the output html.
But I do not know how to use it in dita-ot. Could you please give me the key steps to use it?

@Billyshane This pull-request is abandoned. If you want to get more information, please submit your questions to dita-ot users forum.
https://groups.google.com/g/dita-ot-users/c/YocMwRkP6OE

Yes, I have submitted my question by replying your answer yesterday, but got no reply, so I come here.
I will go back again. Thank you~
在 2022-08-31 12:03:08，"Toshihiko Makita" @.***> 写道：
@Billyshane This pull-request is abandoned. If you want to get more information, please submit your questions to dita-ot users forum.
https://groups.google.com/g/dita-ot-users/c/YocMwRkP6OE
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@Billyshane Have you posted your question to https://groups.google.com/g/dita-ot-users?
On August 30, there is no post in this group and I can't find your question.

@Billyshane Have you posted your question to https://groups.google.com/g/dita-ot-users? On August 30, there is no post in this group and I can't find your question.

Oh, I just replied your answer under this question:
https://groups.google.com/g/dita-ot-users/c/YocMwRkP6OE

I will submitted the question to the group now.

I have submitted the question. Thank you for taking your time. Looking forward to your kind suggestions!


Change redirect to append instead of truncate

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Fix/csv parsing

This PR introduces a few new arguments for hub.auto: sep (for tabular data parsing), and overwrite (for all types of datasets).
sep: a keyword argument that specifies the delimiter to be used for CSV parsing. Default value: ,
overwrite: a keyword argument that specifies if an existing Hub dataset found at the given path is to be overwritten when running Dataset.from_path. Default value: False
Both have been included as kwargs to avoid explicit coding of these arguments into the parsers.
I've also added functionality to directly read .csv files as opposed to before where the .csv file(s) needed to be present in a directory to be parsed.
Also, made a few (very) small corrections to various docstrings in transform.py and classification.py

Please let me know if I've made any errors, I'll be happy to correct them!
@McCrearyD, please go through this at your own time and convenience!

Closing this pull request as this won't be feasible in v2.


DSL - Better error reporting

One currently can't tell which .orbit file contains a syntax error. Error messages are all like:
line 3:0 missing ';' at '}'

We should at least tell which file that is coming from.

Done in #358


corelib_2: DateTime 'testFarAwayDates' test fail on web platforms

testFarAwayDates fails because it relies on non-web integer literals.
Are there web integer values that are just as interesting?
testExtremes fails in one of the -_MAX_MILLISECONDS cases and needs further analysis.
These tests are being split out to increase coverage of the remaining tests (https://dart-review.googlesource.com/c/sdk/+/108220)

testExtremes was fixed in https://github.com/dart-lang/sdk/commit/751a47f942268c3c61561f4ee77466f1e5066930
only testFarAwayDates needs to be fixed now.


Changes to test label in tree view not reflected even after event is triggered

Testing #117304
Steps:

Have a test that's label changes when the test is updated
Run the tests once and view them in the test tree view
Update the test with a label change
:bug: => the tree view still shows the outdated label even though the hover in the editor shows the new label

/duplicate https://github.com/microsoft/vscode/issues/117525


Scala Lexer hangs forever

(Original issue 392 created by None on 2009-02-12T21:20:37+00:00)
I am trying to run this command:
prompt$ pygmentize -f html -Ostyle=linenos=1 -l scala /tmp/aa.scala >/tmp/aa.html
The command hangs (ie nothing happens and it does not complete), I have to hit Ctrl-\ to break it.
Attaching the aa.scala and aa.html files.
I notice that aa.html is exactly 4096 bytes, so perhaps some kind of chunking issue going on?
Reported by guest

(Original issue was assigned to gbrandl)
(Original issue 392 last updated on 2009-02-19T03:29:11+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by gbrandl on 2009-02-14T12:20:52+00:00)
There were some regular expressions in the lexer that backtracked to death. Should be fixed in trunk by [2e3df9a241c9].


HLIL shouldn't propagate string constants from read/write data

Version and Platform (required):

Binary Ninja Version: 4.1.5261-dev Personal (859dedd4)

Bug Description:
HLIL will sometimes replace a writable data variable that contains a string with the value of the string.
Steps To Reproduce:
I believe this is enough:

Expected Behavior:
HLIL displays the assignment as data_1800b6088[0] = 0 or something.
HLIL displays the read (rcx_1 = ...) as rcx_1 = *data_1800b6088 or something.

@whitequark could you please provide with us a binary that can reproduce this? I know similar binaries are not too hard to find, but it would save us some time on it. You can ping us on slack if you would like to

@xusheng6 I'll upload a binary soon, it's public.

Here's the binary:
SSEdevice.zip


Adding StreamingRowsError to backfill

Temporary adding StreamingRowsError to error_codes_to_retry in order to backfill datasets from https://github.com/huggingface/datasets-server/issues/1550

Codecov Report
Patch coverage: 100.00% and project coverage change: -1.97% :warning:

Comparison is base (4c189b1) 92.31% compared to head (5cf324f) 90.35%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1669      +/-   ##
==========================================
- Coverage   92.31%   90.35%   -1.97%
==========================================
  Files          81      204     +123
  Lines        5664    12636    +6972
==========================================
+ Hits         5229    11417    +6188
- Misses        435     1219     +784

Flag
Coverage Δ

jobs_cache_maintenance
99.37% <ø> (?)

jobs_mongodb_migration
85.07% <ø> (?)

libs_libcommon
91.63% <100.00%> (?)

services_admin
86.76% <ø> (?)

services_api
88.30% <ø> (?)

services_rows
82.93% <ø> (?)

services_search
78.76% <ø> (?)

services_worker
92.31% <ø> (ø)

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

Files Changed
Coverage Δ

libs/libcommon/src/libcommon/constants.py
100.00% <100.00%> (ø)

... and 122 files with indirect coverage changes

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


Account Balance In Genesis Blocks Is not Correct

Bug Description
During Catchup all Account Balances are 0.
Steps to Reproduce
DROP the database and catchup from Testnet
Expected Result
Accounts should have balances equal to their genesis balances
Actual Result
All the account balances are zero
Versions

Software Version
OS
Browser
Mobile device, if applicable

Raised PR for this issue
https://github.com/Concordium/concordium-scan/issues/55

Calculation for total circulating supply looks correct, I am not sure that I can verify total unlocked CCDs that easy.
There are 2 minor UI issues that I will report.

@mh-concordium aligned and can close


Add SelfLink to Kubelet http source.

PTAL @yujuhong

LGTM. I think we should probably decide how to handle self links better, but that's for future work :)

LGTM

Will merge on green.

Thanks for the quick review @yujuhong @dchen1107!


pred_contribs via dask API fails: ValueError: Shape of passed values is ...

import pandas as pd
import xgboost as xgb
def fun():
    from dask.distributed import Client, wait
    from dask_cuda import LocalCUDACluster

    with LocalCUDACluster() as cluster:
        with Client(cluster) as client:

            import xgboost as xgb
            import dask_cudf

            import pickle
            (model, X, y, kwargs) = pickle.load(open("xgbissue6469.pkl", "rb"))
            import dask.dataframe as dd
            X = dd.from_pandas(X, chunksize=250).persist()
            y = dd.from_pandas(y, chunksize=250).persist()
            valid_X = kwargs['eval_set'][0][0]
            valid_y = kwargs['eval_set'][0][1]
            valid_X = dd.from_pandas(valid_X, chunksize=250).persist()
            valid_y = dd.from_pandas(valid_y, chunksize=250).persist()
            kwargs['eval_set'] = [(valid_X, valid_y)]
            #model = xgb.dask.DaskXGBClassifier(**model.get_params())
            model.fit(X, y, **kwargs)
            preds = xgb.dask.predict(client=client, model=model.get_booster(), data=X, pred_contribs=True).compute()
            print(preds.shape)

            print("here")

if __name__ == '__main__':
    fun()

xgbissue6469.pkl.zip
Exception: ValueError('Shape of passed values is (250, 2), indices imply (250, 1)',)

/home/jon/minicondadai/lib/python3.6/site-packages/distributed/client.py:4786: RuntimeWarning: coroutine 'Client._close' was never awaited
  c.close(timeout=2)
Traceback (most recent call last):
  File "dask_cudf_scitkit_predcontribs.py", line 31, in <module>
    fun()
  File "dask_cudf_scitkit_predcontribs.py", line 25, in fun
    preds = xgb.dask.predict(client=client, model=model.get_booster(), data=X, pred_contribs=True).compute()
  File "/home/jon/minicondadai/lib/python3.6/site-packages/dask/base.py", line 166, in compute
    (result,) = compute(self, traverse=False, **kwargs)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/dask/base.py", line 444, in compute
    results = schedule(dsk, keys, **kwargs)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/distributed/client.py", line 2682, in get
    results = self.gather(packed, asynchronous=asynchronous, direct=direct)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/distributed/client.py", line 1982, in gather
    asynchronous=asynchronous,
  File "/home/jon/minicondadai/lib/python3.6/site-packages/distributed/client.py", line 832, in sync
    self.loop, func, *args, callback_timeout=callback_timeout, **kwargs
  File "/home/jon/minicondadai/lib/python3.6/site-packages/distributed/utils.py", line 339, in sync
    raise exc.with_traceback(tb)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/distributed/utils.py", line 323, in f
    result[0] = yield future
  File "/home/jon/minicondadai/lib/python3.6/site-packages/tornado/gen.py", line 735, in run
    value = future.result()
  File "/home/jon/minicondadai/lib/python3.6/site-packages/distributed/client.py", line 1841, in _gather
    raise exception.with_traceback(traceback)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/dask/optimization.py", line 1022, in __call__
    return core.get(self.dsk, self.outkey, dict(zip(self.inkeys, args)))
  File "/home/jon/minicondadai/lib/python3.6/site-packages/dask/core.py", line 151, in get
    result = _execute_task(task, cache)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/dask/core.py", line 121, in _execute_task
    return func(*(_execute_task(a, cache) for a in args))
  File "/home/jon/minicondadai/lib/python3.6/site-packages/dask/utils.py", line 31, in apply
    return func(*args, **kwargs)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/dask/dataframe/core.py", line 5258, in apply_and_enforce
    df = func(*args, **kwargs)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/xgboost/dask.py", line 822, in mapped_predict
    predt = DataFrame(predt, columns=['prediction'])
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/frame.py", line 440, in __init__
    mgr = init_ndarray(data, index, columns, dtype=dtype, copy=copy)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/internals/construction.py", line 213, in init_ndarray
    return create_block_manager_from_blocks(block_values, [columns, index])
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/internals/managers.py", line 1688, in create_block_manager_from_blocks
    construction_error(tot_items, blocks[0].shape[1:], axes, e)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/internals/managers.py", line 1719, in construction_error
    "Shape of passed values is {0}, indices imply {1}".format(passed, implied)
ValueError: Shape of passed values is (250, 2), indices imply (250, 1)
(base) jon@mr-dl10:/data/jon/h2oai.fullcondatest3$

FYI @trivialfis

FYI @trivialfis

FYI doesn't matter size of frame, if I give all 25 columns of data, then same result:
  File "/home/jon/minicondadai/lib/python3.6/site-packages/xgboost/dask.py", line 822, in mapped_predict
    predt = DataFrame(predt, columns=['prediction'])
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/frame.py", line 440, in __init__
    mgr = init_ndarray(data, index, columns, dtype=dtype, copy=copy)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/internals/construction.py", line 213, in init_ndarray
    return create_block_manager_from_blocks(block_values, [columns, index])
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/internals/managers.py", line 1688, in create_block_manager_from_blocks
    construction_error(tot_items, blocks[0].shape[1:], axes, e)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/internals/managers.py", line 1719, in construction_error
    "Shape of passed values is {0}, indices imply {1}".format(passed, implied)
ValueError: Shape of passed values is (250, 25), indices imply (250, 1)

FYI doesn't matter size of frame, if I give all 25 columns of data, then same result:
  File "/home/jon/minicondadai/lib/python3.6/site-packages/xgboost/dask.py", line 822, in mapped_predict
    predt = DataFrame(predt, columns=['prediction'])
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/frame.py", line 440, in __init__
    mgr = init_ndarray(data, index, columns, dtype=dtype, copy=copy)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/internals/construction.py", line 213, in init_ndarray
    return create_block_manager_from_blocks(block_values, [columns, index])
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/internals/managers.py", line 1688, in create_block_manager_from_blocks
    construction_error(tot_items, blocks[0].shape[1:], axes, e)
  File "/home/jon/minicondadai/lib/python3.6/site-packages/pandas/core/internals/managers.py", line 1719, in construction_error
    "Shape of passed values is {0}, indices imply {1}".format(passed, implied)
ValueError: Shape of passed values is (250, 25), indices imply (250, 1)

Work-around for pred_contribs not working with dask for any interface: https://github.com/dmlc/xgboost/issues/6547#issuecomment-753562193

Work-around for pred_contribs not working with dask for any interface: https://github.com/dmlc/xgboost/issues/6547#issuecomment-753562193

Working on this.

Working on this.

Could you please show us the training procedure, and the commit of xgboost you are using?

Could you please show us the training procedure, and the commit of xgboost you are using?

When you generate a pickle, it will include the related Python bytecode.  We do not recommend sharing pickle file.

When you generate a pickle, it will include the related Python bytecode.  We do not recommend sharing pickle file.

When you generate a pickle, it will include the related Python bytecode which is unstable across libraries or Python itself. We do not recommend sharing pickle file.

Do you run into a problem?  The pickle file should be fine across python, that's not a problem.  But particular packages can be incompatible of course.  I was using the commit just before you dropped binary support in favor of json.  You can just use latest master and revert that json being no longer experimental commit.

When you generate a pickle, it will include the related Python bytecode which is unstable across libraries or Python itself. We do not recommend sharing pickle file.

Do you run into a problem?  The pickle file should be fine across python, that's not a problem.  But particular packages can be incompatible of course.  I was using the commit just before you dropped binary support in favor of json.  You can just use latest master and revert that json being no longer experimental commit.

Do you run into a problem? The pickle file should be fine across python, that's not a problem.

Pickle file  is not portable across Python version.
The more easily encountered issue is, the Python object you pickled, is the Python bytecode representation of that object, be it a function or a class.  That means, even if we are running the same Python version, if  my local installation of xgboost has any change to that class object, like removing an attribute, or adding an optional parameter to a function, we will have conflict.

Do you run into a problem? The pickle file should be fine across python, that's not a problem.

Pickle file  is not portable across Python version.
The more easily encountered issue is, the Python object you pickled, is the Python bytecode representation of that object, be it a function or a class.  That means, even if we are running the same Python version, if  my local installation of xgboost has any change to that class object, like removing an attribute, or adding an optional parameter to a function, we will have conflict.

So when I load your pickle, essentially I have 1 and half xgboost loaded.

So when I load your pickle, essentially I have 1 and half xgboost loaded.

Also, I added some simple tests for shap value computation in https://github.com/dmlc/xgboost/pull/6575 , could you please help taking a look?

Also, I added some simple tests for shap value computation in https://github.com/dmlc/xgboost/pull/6575 , could you please help taking a look?

Feel free to reopen if this is reproducible on latest master.

Feel free to reopen if this is reproducible on latest master.

Not sure why this is closed within 2 days of asking for more.  You should wait for me to follow-up.

Not sure why this is closed within 2 days of asking for more.  You should wait for me to follow-up.


Missing Window Sizes

Bug description:
Ferdi is not starting with last window sizes
Steps to reproduce:

Open Ferdi
Maximize window
Quit Ferdi
Open again
Window is not maximized

Expected behavior
Ferdi window size and position are being remembered from last session
Environment:

Operating System: Linux Mint Cinnamon
Ferdi Version: 5.5.0
Server: Franz

This has already been fixed via #733 and will be released in the next release of Ferdi.


Release notes for 0.12

For every change that goes into the 0.12 release. Please make a small description here, link to the PR (any issues) and mention whether it is a bug fix or not.
@stefankoegl you usually open these, but I thought I would just get it started.

Add information to the docs about how to put SoCo in the Python path, for test execution. PR #327 issue #319.

Clear zone group cache and reparse zone group information after join and unjoin to prevent giving wrong topology information. (BUGFIX). PR #323 issue #321.

Fix typo preventing SoCo from parsing the audio metadata object used when a TV is playing. PR #331.

added to_dict() / from_dict() to DidlResource PR #330  Issue #318

New MusicService class for access to all the music services known to Sonos.  Note that some of this code is still unstable, and in particular the data structures returned by methods such as get_metadata may change in future. (#262)

All tests have been moved from the unittests directory to the tests directory ( #336 )

For developers, more make targets, and a better sdist build ( #346 )

Added discovery.any_soco(), for when you need a SoCo instance, but you don't care which. This is slightly better than the traditional device = soco.discover().pop() since it will return an existing instance if one is available, without sending discovery packets ( #262 )

Modified DidlObject.to_dict() so that any associated resources list will be also returned as a list of dictionaries instead of returning a list of DidlResource objects. (#340)

Added a sonosdump tool in dev_tools, which can print out the various UPnP methods which Sonos uses

Methods relating to the music library (get_artists, get_album_artists, get_albums and others) have been moved to the music_library module. Instead of device.get_album_artists(), please now use device.music_library.get_album_artists() etc. Old code will continue to work for the moment, but will raise deprecation warnings (#350)

Added remove_sonos_playlist method.  Closes issue #341 (PR #345)

Added methods for sonos playlist management: reorder_sonos_playlist, clear_sonos_playlist, move_in_sonos_playlist, remove_from_sonos_playlist, get_sonos_playlist_by_attr (PR #352)

Support playmodes repeat-one (REPEAT_ONE) and shuffle-repeat-one (SHUFFLE_REPEAT_ONE) introduced by Sonos 6.0 (PR #387)

Fix bug where SoCo would raise exception if music services sent metadata with invalid XML characters (PR #392, Issue #386)

Better discovery (PR #395): SoCo tries harder to find devices on the local network, particularly where there are multiple network interfaces. The default discovery timeout is also increased to 5 seconds

Drop support for Python 3.2 (Issue #324)

Large work package on the docs, which contains a new front page, more sections, some advanced topics and an example page (PR #406).

#302 added optional timeout argument to be passed onto requests when getting speaker info.

#425 Ignore .# specified subclasses in Didl xml.
Several music services seem to use an out-of-spec way to make sub classes in Didl, by specifying the subclass name or function after a #. This caused our implementation of Didl to reject it. This has now been fixed by simple ignoring these un-official subclasses.

#430 Event lister was (incorrectly) responding to GET and HEAD requests, which could result in local files being served.

Rather than call out #432 separately, might as well roll it into: Better discovery (PR #395, #432) ...

Added methods to manipulate sonos sleep functionality: set_sleep_timer, get_sleep_timer (PR #413)

Made a hard deprecation of the Spotify plugin #423 since the API it relied on has been deprecated and it therefore no longer worked #401.


Fix randomcommand bug

Pull request

[x] I have read and agreed to the code of conduct.
[x] I have read and complied with the contributing guidelines.
[x] What I'm implementing was assigned to me or was not being worked on and is a somewhat requested feature. For reference see our GitHub projects.
[x] Ihave tested all of my changes.

Added/Changed
What did you add and/or change for this.

Added a check that check if provided arg is > 0

Feature
If this is a new feature, why should we add it to the bot.

Not a Feature.

I didn't realize I didn't push a fix.
The program goes haywire when arg < 1

I'll look into it later.
I write this piece of garbage on mobile :joy:

This hasn't been attended to so I am closing it. Future PRs for this bug should only be PRed after completion


Ignore blank space and path: token inside project() dependency declaration

Currently, the plugin fails with a parse error when it encounters lines like:
  implementation project(path: ':kool')

Likewise, blank space inside of project(   ':foo') could affect the sort outcome.
I think the ideal way to handle this would be to add further deconstruction of the dependency lines into the DependencyDeclaration model. But as a quick hack, we can just strip out the contents we want to ignore when running the comparator logic:
https://github.com/square/gradle-dependencies-sorter/blob/4adf29d01fc994c680dfdedc4078fd02e2b98f97/sort/src/main/kotlin/com/squareup/sort/DependencyComparator.kt#L78-L82
(This isn't super graceful, would be curious to discuss more elegant approaches.)

I think this is too limited as-is and should be generalized to Gradle's map syntax if you want to add it.
Even just path: alone doesn't actually cover the syntax of that notation, as implementation project(path: '...', configuration: '...') is also legal.

Updated the code to handle this case in https://github.com/square/gradle-dependencies-sorter/pull/40/commits/37a938ef85010707569a3dbc87284f9f35fce891. I switched to properly detecting the map key/values in the Lexer, as opposed to the ugly Regex hack I had.

If a general map syntax is supported, then you would cover both of those plus implementation group: group, name: name, version: version, classifier: classifier, ext: extension notation.

The key/value pairs to project(...) and implementation are semantic w.r.t. to sort. For project(...), path is all that matters (or at least, should be the primary sort key.) Likewise, for implementation, there is a specific precedence to the keys when sorting. So, I don't think we can ever rely on a generalized map syntax - rather, we'll have to encode specific rules by key based on the Gradle DSL. Thus, it could be best to tackle implementation's Map notation as a follow-up.


Feature: Added Rotten edibles

Fixes Issue🛠
Closes #149
Description👨💻
Applied Changes

While spawning the regular edibles, a rotten edible might get spawned instead of a regular one with a probability of 0.3
Rotten edibles have a lifespan between 1 to 6 seconds and disappear after that.
On clicking on a rotten edible, the score decreases by 1
A rotten edible can be identified as a grayscale image of the chosen edible.

Type of change📄

[x] New feature (non-breaking change which adds functionality)

How this has been tested✅
Tested on my local machine, works perfectly fine game runs smoothly without any bugs as of now.
Checklist✅

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added demonstration in the form of GIF/video file
[x] I am an Open Source Contributor

Screenshots/GIF📷

Merged, Keep Contributing!! 🎉 @SoumyadevSaha

give @SoumyadevSaha 75 points


nerf-w custom dataset

Hello, I would like to try nerf-w with custom dataset but i do not understand how to create dataset like phototourism dataset?
Thanks.

Hi, you only need to create a new dataset script following phototourism.py. First you run COLMAP on the input images to get the poses, then just follow the template to create a dataset class that yields data for training. There are other small modifications to make in train.py and opt.py to parse your dataset class, but other than that you don't need to worry about anything like the model or loss.

Hi, colmap just write only 1 camera into cameras.bin file. Therefore when i run phototourism.py, i saw only one camera then occurs an error.
P.S. When i run nerf_pl training code i just take result which is very good. But for nerf-w i faced cameras.bin file problem

Hello, I am also working on training NeRF-W on custom dataset. Did you succeed in doing so?

Also facing camera issues

I think there might be an issue with the line "cam = camdata[id_]" at line 78 in phototourism.py. According to the COLMAP reference, it might be necessary to select the camera through the value of "CAMERA_ID" assigned to each image in images.bin. I apologize if I'm mistaken.


Archiver not working

This plugin used to work fine, but it stopped working with the update. I've tried it in Preview and Edit mode.
These are my options.

Hello, @kmaustral,
Thank you for raising the issue! Could you share an example of a file that doesn't work with the archiver? I copied your config, tried archiving a couple of tasks, and here is what I've got:

Hello @ivan-lednev . First of all, thank you for the work, this is a great extension idea. I used to use org-mode a lot in the past.
Today I tried to use this extension and it didn't work. After executing the command "Archive tasks in this file" in a simple file containing some checkboxes, the console throws the following:
Uncaught (in promise) TypeError: Cannot read property 'append' of undefined
    at BlockParser.buildTree (eval at <anonymous> (app.js:1), <anonymous>:135:25)
    at BlockParser.parse (eval at <anonymous> (app.js:1), <anonymous>:122:14)
    at eval (eval at <anonymous> (app.js:1), <anonymous>:249:80)
    at Array.map (<anonymous>)
    at SectionParser.parseBlocksInSections (eval at <anonymous> (app.js:1), <anonymous>:248:20)
    at SectionParser.parse (eval at <anonymous> (app.js:1), <anonymous>:224:35)
    at Archiver.archiveTasksToSeparateFile (eval at <anonymous> (app.js:1), <anonymous>:304:43)
    at ObsidianTaskArchiver.eval (eval at <anonymous> (app.js:1), <anonymous>:463:48)
    at Generator.next (<anonymous>)
    at fulfilled (eval at <anonymous> (app.js:1), <anonymous>:28:58)

I will take a look at the code to see if I can fix the problem. Thanks again.

Hi, I had the same issue, and I think it has something todo with copying the example and the pre-fix for task details.
The 'tab' in front of the task (sub) details is copied as 4 spaces and that crashes the plugin. I've replaced the   before the details with a proper tab and the plugin runs.
Looking at BlockParser.ts, it seems the regex to match line items either accepts 2 spaces or a tab. Perhaps an easy fix it to make this a range of spaces.
https://github.com/ivan-lednev/obsidian-task-archiver/blob/f06d7bc5a5d5e201f3fd383c8eb89b3b4f26aa3b/src/parser/BlockParser.ts#L9
Hope this helps

I can confirm what @ernstnaezer said. If you change the regex to take 2 to 4 spaces the plugin runs fine. e.g. {2,4}:
/^(?<indentation>(?: {2,4}|\t)*)(?<listMarker>[-*]|\d+\.)\s/

Hello, @ernstnaezer
Thank you for your input! Could you please provide a markdown fragment that crashed the plugin? I've tried reproducing the issue with different combinations of tabs & spaces, but no luck so far.
Thanks!

Since there hasn't been any activity recently, looks like the issue got fixed when some other refactoring happened. Closing.

RANGE ERROR: I have a Task note and when I run the plugin to move the completed tasks to a header on the same page or a different note altogether... it removes the tasks but they do not move to the header or the new note, they appear to simply be deleted. I'm definitely triggering the move and not the delete command. I do receive an error: "RangeError Invalid position -1 in document" with a length parameter listed. It is a complex Task note with a recurring task and about a page and a half long. Thoughts?


set-output: Replace set-ouput usage

Summary
Since this is the only use set-output used in this action, we can directly set $GITHUB_OUTPUT to the result.
QA
Make sure the render-template action still works properly.
Might be easier to test this after merging this pull.

We can update the sha in the workflow and create a test pull request. https://github.com/iFixit/ifixit/blob/37a8c72dcd83daa3ca6748667488d654002a95f2/.github/workflows/E2E.yml#L106
Then check the webpack comment.

Connects: https://github.com/iFixit/ifixit/issues/45080

We should also make an issue on the upstream repo. Can you do that @batbattur ?

dev_block 👍

un_dev_block 👍

We should also make an issue on the upstream repo. Can you do that @batbattur ?

Made the issue here https://github.com/chuhlomin/render-template/issues/7

@ardelato @mlahargou
I forgot that this action still uses the author's docker image, so the changed code in here won't matter unless the image gets updated. Just found it here when testing in iFixit/ifixit: https://github.com/iFixit/ifixit/pull/45162#issuecomment-1282901897

Oooof, that's actually a bigger problem if we are stilling using an external docker image even though we forked the repo.

I am honestly thinking we just create our own script to escape multiline comments in GH.

I am honestly thinking we just create our own script to escape multiline comments in GH.

Created our own script in https://github.com/iFixit/ifixit/pull/45162, and dropped the use of iFixit/render-template action.


Error at boot with systemd since few days

Hi,
Since few days ago, I can't boot without an error message.
It seems that systemd-modules-load.service failed to init.
The system seems to run normally, I don't have any bug.
I haven't made modifications in my system I think, just the regular update.
Is this message important?
Does the problem come from my config, or it's a an known problem?
Thanks you

Hi. I'm glad to help with this.
If you run:
systemctl status systemd-modules-load
There is a section at the bottom titled "process" and right after that is a number. This represents the process ID. Take that number and do this:
journalctl _PID=YOUR_NUMBER_GOES_HERE
And then just paste the output here :)
Thank you!

Hi,
I'm very sorry, I have since switched back to Fedora Silverblue.
Thanks for your answer!


Support NodeJS 5.8+ debugging via '--inspect'

NodeJS versions 5.8+ have deprecated '--debug' (and '--debug-brk') in favor of a new implementation, '--inspect' (and '--inspect-brk').
Running swagger project start -d with newer NodeJS versions (8+) will throw a warning and fail to enter debug mode.
Ref:
https://nodejs.org/dist/latest-v8.x/docs/api/deprecations.html#deprecations_dep0062_node_debug

If this project is still being maintained, I'm happy to offer a PR for this fix.

Same problem here, unable to debug only by running npm run debug instead of swaggee project start -d

Found a solution for that , just run:
swagger project start -n --inspect-brk=9229
it will send "--inspect-brk=9229" to node and will enable debugging :wink:


✨ Radio mode

This created more bugs and issues, than I expected. I also don't like the behaviour of the bot. I will rethink this and redo a new PR.


Disabled radios and checkboxes have the wrong cursor

When the disabled attribute is on an element, we grey it out. However, the pointing hand cursor remains - it shouldn't as the element isn't actionable.
How would you expect it to work?
I'd expect to see the pointer cursor.
Example:

Could go with cursor: not-allowed but cursor: default is probably the best option…


Disable rule for entire file inserts the comment under the shebang.

Disable rule for entire file inserts the comment under the shebang.
Before:
/* eslint-disable no-unused-vars */
#!/usr/bin/env node

After:
#!/usr/bin/env node
/* eslint-disable no-unused-vars */

Closes #762

Great. Like it.


Insufficient solution to work around Google rate limiting

Issue
The application implements an in-house queue to process the parsed keywords and workaround Google Rate Limitting by adding a delay between each process.
https://github.com/CuteTN/google-scraper/blob/db67daebccec466a89c86ff17f587b55cb27d29b/server/src/services/google-scraping-scheduler.service.ts#L57-L63
Adding delay is a code smell. Besides that, the current implementation has some limitations

There is no way to speed up the crawling by running multiple processes. A better way could be using a queue like https://optimalbits.github.io/bull/ to queue the keywords as background jobs and run multiple workers. Also, it saves the effort from re-inventing the queue.
Rotating the user agents (as you already defined here) to simulate that the requests come from different devices
https://github.com/CuteTN/google-scraper/blob/db67daebccec466a89c86ff17f587b55cb27d29b/server/src/services/google-scraper.service.ts#L10-L13

It is not necessary to open a PR to fix, but I would like to understand why you decided to come up with the current solution?

@longnd Thank you for the recommendation. As I'm lack of hands-on experience on crawling large data, I'm aware that not every decision I've made here is the best. Despite that, I still tried experimenting my own solution to see how it turned out.


Testing page should reference sp_io instead of runtime_io

https://substrate.dev/docs/en/knowledgebase/runtime/tests references runtime_io in several code snippets, but it should be sp_io

lgtm, thank you @danforbes


NETCore.Encrypt.OutofMaxlengthException trying to encrypt 123

Do you know why
 var encrypted = EncryptProvider.RSAEncrypt(publicKey, "123");
Retrieves:
{"Exception of type 'NETCore.Encrypt.OutofMaxlengthException' was thrown."}
publicKey:
        private const string publicKey =
        @"{""Modulus"": ""m9c88+sazyrDZv7Amrek2MCkkx0ZkHfWXCCPZuZwT8gKEH4m/VDKj6hTVNr0GbZy8ZKtiq9NAxoS5Vr+xdsE9mVJu7XmU/s+D1GnF3cubckivKzCvs63sQQ9JpGmrOkIlfGbmGUprO0HEt3FA2fua/nGh67ApyLPykYXjMQI5QE="",
""Exponent"": ""AQAB""}";

`

You can try to specify the RSAEncryptionPadding, the default value is RSAEncryptionPadding.OaepSHA512.
var encrypted = EncryptProvider.RSAEncrypt(key, srcString, RSAEncryptionPadding.Pkcs1);

Can I use nopadding - Is it safe?
Do you if it is possible to decrypt/encrypt data using PEM private/public keys?


[Bug] Offline tests when there is a partial prefill

Describe the bug
When running offline tests, the first request has no problem. But when running the second request with the same context, I encounter the following error. I also tried the offline tests in LMCache examples. I also encounter the same error.
[rank0]: Traceback (most recent call last):
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm/worker/model_runner_base.py", line 112, in _wrapper
[rank0]:     return func(*args, **kwargs)
[rank0]:   File "/local/shaotingf/lmcache1/lmcache-vllm/lmcache_vllm/vllm_injection.py", line 107, in new_execute_model
[rank0]:     hidden_or_intermediate_states = model_executable(
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
[rank0]:     return self._call_impl(*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
[rank0]:     return forward_call(*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm/model_executor/models/llama.py", line 448, in forward
[rank0]:     model_output = self.model(input_ids, positions, kv_caches,
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
[rank0]:     return self._call_impl(*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
[rank0]:     return forward_call(*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm/model_executor/models/llama.py", line 329, in forward
[rank0]:     hidden_states, residual = layer(
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
[rank0]:     return self._call_impl(*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
[rank0]:     return forward_call(*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm/model_executor/models/llama.py", line 251, in forward
[rank0]:     hidden_states = self.self_attn(
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
[rank0]:     return self._call_impl(*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
[rank0]:     return forward_call(*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm/model_executor/models/llama.py", line 181, in forward
[rank0]:     attn_output = self.attn(q, k, v, kv_cache, attn_metadata)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
[rank0]:     return self._call_impl(*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
[rank0]:     return forward_call(*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm/attention/layer.py", line 98, in forward
[rank0]:     return self.impl.forward(query,
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm/attention/backends/flash_attn.py", line 743, in forward
[rank0]:     prefill_output = torch.ops.vllm.flash_attn_varlen_func(  # noqa
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/_ops.py", line 1061, in __call__
[rank0]:     return self_._op(*args, **(kwargs or {}))
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/_library/custom_ops.py", line 236, in backend_impl
[rank0]:     result = self._backend_fns[device_type](*args, **kwargs)
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm/attention/backends/flash_attn.py", line 49, in flash_attn_varlen_func
[rank0]:     return _flash_attn_varlen_func(
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm_flash_attn/flash_attn_interface.py", line 1154, in flash_attn_varlen_func
[rank0]:     return FlashAttnVarlenFunc.apply(
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/torch/autograd/function.py", line 574, in apply
[rank0]:     return super().apply(*args, **kwargs)  # type: ignore[misc]
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm_flash_attn/flash_attn_interface.py", line 632, in forward
[rank0]:     out, q, k, v, out_padded, softmax_lse, S_dmask, rng_state = _flash_attn_varlen_forward(
[rank0]:   File "/local/shaotingf/anaconda3/envs/lmcache1/lib/python3.10/site-packages/vllm_flash_attn/flash_attn_interface.py", line 90, in _flash_attn_varlen_forward
[rank0]:     out, q, k, v, out_padded, softmax_lse, S_dmask, rng_state = flash_attn_cuda.varlen_fwd(
[rank0]: RuntimeError: CUDA error: an illegal memory access was encountered
[rank0]: Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

How to reproduce
python3 main.py tests/tests.py -f offline_test -o outputs/
You should monitor these files:

/tmp/{user_name}-65431-stderr.log
/tmp/{user_name}-65431-stdout-1.log
/tmp/{user_name}-65431-stderr-2.log

This error no longer exists with the latest branch.


raidboss: Fix Suppress Trigger Function Spelling

Noticed that these triggers were a bit spammy when I ran this the other day, so I went back to add a suppressSeconds to the function, but noticed it was already there.

whoooooops


Cannot use  inside shadow dom component

I have an issue using react links inside the shadow dom component like this
<ShadowDOM include={['/zion_resources/widgets/header.css']}>       <div>         <Link className="item" activeClassName="active" to="preview">           <img src="/img/icons/zion.icon.tb_tablet.svg" alt="" width="23px"/>         </Link>       </div>       </ShadowDOM>
Throws an error s rendered outside of a router context cannot navigate.
Any workarounds for this?

All fixed in >=2.0.0 👍


Proposal : ecosytem harmonization

Hi!
As I said earlier, I'm quite familiar with wasp-os on the Pinetime from Pine64. It's arguably the most successful micropython os on a hackable watch (albeit not that successful, it's quite niche :) ) so I think harmonizing some parts of the code to reduce the cost to port apps between them is not a bad idea.
Wasp-OS has some great features like :

a simulator to quickly create apps without having to send them to the watch
extensive documentation
multiple watch support (all based on the same chip)
a neat way to install apps as frozen bytecode or mpy or python (the storage space is way smaller)
An app launcher as well as useful widgets (a "top bar" that displays the time and notifications like on android etc)
a settings app

You can give it a go right away on your computer by cloning their repo then running make sim in the root. This will launch the simulator.
Before porting my own apps here's what I explored so far:

Out of principle I looked at porting wasp os on the twatch directly. It looks very dooable because AFAIU the main hurdle is getting micropython working and the display is the same as on waspos. But I frankly lack the skills to pull this off and have many more things on my plate so that was mostly out of curiosity.
I looked at adding the simulator to this repo. The code is actually quite simple and clever and it looks way easier than porting the OS. But I also lack the knowledge to understand a good part of the low level of both repo so I also can't pull it off. But frankly this looks easy if someone is interested, it's basically highjacking the PYTHONPATH to load local fake modules like micropython, machine, time etc and displaying in a window using sdl2.
Harmonizing the code architecture. The separation between tempos.py, scheduler.py is not really the same as on waspos so overhauling all of this was too much for too little IMO.
See below

Here's where I'm at now. I think harmonizing the "API" is what yields the most without hurting the authenticity of this repo and allowing to port apps more easily. By that I mean for example renaming the "g" module to "display", renaming the "setInterval" to waspos's alternative etc.
Here would be the tentative roadmap:

renaming the simple stuff like g, setInterval, ticks handling, etc
changing lightly the application life cycle to align more with the one from waspos (i.e. changing app_init by foreground etc)
adding docstrings to all functions.
Harmonizing the widgets API and adding more widgets
adding a central "launcher app" that is triggered when escaping from an app, and allows to swipe to other apps. This would be nicer I believe.

What do you think @jeffmer ? I think it would bring more apps to your OS, increase the visibility to your OS as well as to the twatch (which is incredible but not enough loved!) and be a good thing overall : 2 projects with a common API increase chances of more future watches aligning with this instead of having 3 standards :).
The goal is not to do a major overhaul of the code of course, but just to make it share the same language as waspos.
Can't wait to have your take on this :)
ps : wasp-os is also available on a few other watches, see their great doc

Hi, yes, I know about waspos and have looked at in some detail. The main constraint that waspos addresses is the small RAM size - 64K - of the  RF52832. Thus the frozen code etc.
The design of tempos - short for temporal operating system - was influenced more by my experience with Espruino and it’s Bangle watches. So Tempos has a JavaScript like event model.
I have previously implemented a desktop like  icon driven launcher for Bangle so I wanted to experiment with an architecture that selected apps directly by swiping as my experience is that launchers can be a bit fiddly for small devices.
I really like the simplicity of tempos where everything is an app with no special treatment of settings or launching.
Saying that, I think the best approach to running  waspos apps would be a compatibility lib which mapped waspos to tempos primitives rather than changing the tempos primitives.

Saying that, I think the best approach to running waspos apps would be a compatibility lib which mapped waspos to tempos primitives rather than changing the tempos primitives.

Noted. I'll do that eventually then. Thanks


Rocket exploiting

Having Rocket enchantment and use bow to hit themself for teleporting. This is dangerous since some place need protected or prevent them from passing.
Plz dont teleport them if they hit themself

My plugin doesn't teleport people. Could be another plugin doing this but can you send a video of what is happening so I can see.

Enchantments doesnt teleport people? https://github.com/kicjow/Crazy-Enchantments/blob/master/src/me/badbones69/crazyenchantments/enchantments/Armor.java#L117

That isn't teleporting. That is changing a players velocity which is like how moving works. It's just changing the velocity of the player. Also, arrows won't set off the Rocket enchantment. I checked and I have it set to only living entities. So I am not sure what enchantment you mean.

yea, sorry used wrong word. but player were moved (very fast like teleporting) while hitting himself with bow. i'll check it again what enchantments he has

Just test by myself and Im sure I got moved by enchantment Rocket since there is a explosion animation too. Do u need a video test? Though this isnt like I saw a player was exploiting it, he was moved arround by hitting himself, for me I only got jump up and explosion.


Build error on Debian testing

Environment

VerneMQ Version: master
OS: Debian Testing
Erlang/OTP version (if building from source): Erlang/OTP 22 [erts-10.6.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
VerneMQ configuration (vernemq.conf) or the changes from the default
Cluster size/standalone: standalone

Expected behavior

Build project from source without error

Actual behaviour
I got error when try building from source, here is the output of make rel command:
make_rel.log

Can't really help, looks like some linking issue maybe?
What if you use DEBUG=1 make rel?

On the master branch you may need to install the snappy headers. In Debian should be sudo apt-get install libsnappy-dev. This is a very recent change, need to update the docs about building from source today.

Thanks @codeadict.
The master branch compiled successfully after installing libsnappy-dev.


Should we propagate causes in AbortedExecutionException?

Please see #156 first.
Status quo
With https://github.com/restatedev/sdk-java/pull/153 we (hopefully) fixed all the various non-deterministic exceptions that can pop out of RestateContext methods, such that the following rule applies:
 * <p>All methods of this interface, and related interfaces, throws either {@link TerminalException}
 * or {@link AbortedExecutionException}, where the former can be caught and acted upon, while the
 * latter MUST NOT be caught, but simply propagated for clean up purposes.

This exception is used to unblock the user thread when suspending (we used to call it SuspendedException in past) and for failures that we don't record in the journal (such as non deterministic replay error, as for side effect retryable errors). For example:
try {
    ctx.sideEffect(() -> {
        throw new IllegalStateException();
    });
} catch (IllegalStateException e) {
    // This will never be executed
} catch (AbortedExecutionException e) {
    // This will be executed, but users MUST NOT write this catch arm!
}

Before throwing the AbortedExecutionException, the SDK internal state machine logs the error to screen, sends back a message to the runtime to close the stream WITHOUT recording the failure in the journal, and then fences off any subsequent usage of the RestateContext. In other words, if you write this code:
try {
  // do stuff
} catch (Throwable e) {
  ctx.sideEffect() // Or any other RestateContext method
}

if the throwed exception is AbortedExecutionException, then that side effect won't be executed and will just throw again AbortedExecutionException.
This same exception is also used to unblock the user thread when suspending (we used to call it SuspendedException in past).
As it stands now, the AbortedExecutionException is implemented as singleton and will always have a null cause, to avoid users write non-deterministic control flow based on the cause.
Question
Should we rather expose the cause of the AbortedExecutionException? If yes, for what purpose?

I think there's agreement in not doing this now, so i'm gonna close it as wontfix. Reopen if you need it.


Fixes LineEdit text selection with mouse selecting more than intended

LineEdit control was selecting +1/-1 character when text was selected with mouse. Not anymore.
Check this out:

Fix #6174

Thanks for the contribution,
You should provide a descriptive commit message and PR title/post, including "Fix #6174" in the body of either (or both). Imagine reading the commit log history and finding "Fix of #6174", what would you think it means? Of course, you could open the browser, type the address of GitHub, copy/paste the issue number... See what I mean? So if you can do git commit --amend and rewrite the description, later doing a git push --force to update this PR would be great.
Looking at the GIF, I still feel it's one character behind when going from left to right, both on selection and deselection.

Done. Thank you for your guidance, @vnen.
About the GIF, I thought that too, but I experienced the same behavior within other applications (Sublime Text and Firefox): the selection is only made after the cursor surpasses the character.

Yes, I can see other applications behave in a similar way. This patch works fine to me then.


Receiver class io.hypersistence.utils.hibernate.type.array.internal.StringArrayTypeDescriptor does not define or inherit an implementation of the resolved method 'abstract org.hibernate.type.BasicType resolveType

I am seeing the below message as WARN and the spring boot application fails to start
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Receiver class io.hypersistence.utils.hibernate.type.array.internal.StringArrayTypeDescriptor does not define or inherit an implementation of the resolved method 'abstract org.hibernate.type.BasicType resolveType(org.hibernate.type.spi.TypeConfiguration, org.hibernate.dialect.Dialect, org.hibernate.type.BasicType, org.hibernate.tool.schema.extract.spi.ColumnTypeInformation, org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators)' of interface org.hibernate.type.descriptor.java.BasicPluralJavaType.
I am using io.hypersistence.utils.hibernate.type.json.JsonBinaryType in my application and its part of a library. StringArrayTypeDescriptor class is not referenced neither in the library nor in the application.
versions:
Spring Boot v3.0.6, Spring v6.0.8
Hibernate ORM core version 6.1.7.Final
hypersistence-utils-hibernate-60 3.4.3
Can you let me know why am I facing this issue ?

I don't know why you are facing this issue.
But, you can use the existing test cases to try to replicate it in this repository. At the moment, all project test cases run just fine.

Since the [AbstractArrayTypeDescriptor]https://github.com/vladmihalcea/hypersistence-utils/blob/d0a3f05eaf2880331793fe5067af1781426fb235/hypersistence-utils-hibernate-60/src/main/java/io/hypersistence/utils/hibernate/type/array/internal/AbstractArrayTypeDescriptor.java#L107) implements that method, I assume your issue is caused by a class loading problemo your side.

I was able to find the root cause of the issue and fix. There was property defined for maven plugin version with 3.0.5, but the underlying spring boot version was running with 3.0.6.
This issue was due to the version mismatch.

Thanks for letting me know