Typescript typings

I think this is a nice lib! Unfortunately my project uses typescript so I cannot use it without typings. I did some searches but came up empty so I don't think it exists? The closes I found was this question on stack overflow.
So it seems some ppl are already working on typings for this lib. I think it would be nice if we could co-ordinate the work here.

+1

Well, this my first try. but it isn't very good:
declare module seamlessImmutable {
    interface ImmutableCommonMethods<T>{
        setIn?<U extends T>(keys: Array<string|number>, value: any): T | U;
        merge?<U>(obj: U): T & U;
    }

    interface ImmutableObjectMethods<T> extends ImmutableCommonMethods<T> {
        set?<U extends T>(key: string, value: any): U;
        asMutable?(): T;
        without?<U>(key: string): U;
        without?<U>(keys: string[]): U;
        without?<U>(...args: string[]): U;
        without?<U>(keyFunction: (value: any, key: string) => boolean): U;
    }

    interface ImmutableArrayMethods<T> extends ImmutableCommonMethods<T> {
        set?<T>(index: number, value: any): Array<T>;
        asMutable?(): Array<T>;
        asObject?<U>(toKeyValue: (item: T) => Array<Array<any>>): U;
        flatMap?<U>(mapFunction: (item: T) => Array<U>)

    }
}
    declare function SI<T>(obj: T, options?): T & seamlessImmutable.ImmutableObjectMethods<T>;
    declare function SI<T>(obj: Array<T>, options?): Array<T> & seamlessImmutable.ImmutableArrayMethods<T>;

Cool! Seems like a useful addition. :smiley_cat:

+1, would be great to have it here!

Here is what I have come up with so far. It only allows usage of the lib in typescript. It does not provide compile time error for accessing read-only data.
seamless-immutable.d.ts:
declare module 'seamless-immutable' {

  type Immutable = {
    (obj:any, options?:any):any;
    isImmutable(target:any):boolean;
    ImmutableError(message:string):Error;
  }

  var Immutable:Immutable;
  export = Immutable;

}

Usage:
import * as Immutable from 'seamless-immutable';

var array = Immutable(["totally", "immutable", {hammer: "Can’t Touch This"}]);
array[1] = "I'm going to mutate you!"

The last line in usage will give an runtime error. It would of course be much better if it gave a compile time error. @zivni your typings look interesting but I am not sure how to use them?

I'm looking for this as well, but my idea is a bit like the last one above I think.
Use seamless-immutable as a wrapper, and then use lodash or other things to "mutate" and after that freeze again with Immutable.
This way I don't need any API basically more than it's just a function that returns the same thing it took in I think...
That is the theory at least.

@jonaskello I think you should define with generic and return with it too:
declare module "seamless-immutable" {

  type Immutable = {
    <T>(obj: T, options?: any): T;
    isImmutable(target: any): boolean;
    ImmutableError(message: string): Error;
  }

  var Immutable: Immutable;
  export = Immutable;
}

So that it type checks / autocompletes the object it returns.

Here is a version that combines the additions @Ciantic made with the methods defined by @zivni. It enables typed usage of the original type plus the extra methods that SI provides. I think what is left is to remove the mutation methods that SI bans. However I am not sure how to solve that or if it is even possible?
declare module 'seamless-immutable' {

  interface ImmutableCommonMethods<T>{
    setIn?<U extends T>(keys: Array<string|number>, value: any): T | U;
    merge?<U>(obj: U): T & U;
  }

  interface ImmutableObjectMethods<T> extends ImmutableCommonMethods<T> {
    set?<U extends T>(key: string, value: any): U;
    asMutable?(): T;
    without?<U>(key: string): U;
    without?<U>(keys: string[]): U;
    without?<U>(...args: string[]): U;
    without?<U>(keyFunction: (value: any, key: string) => boolean): U;
  }

  interface ImmutableArrayMethods<T> extends ImmutableCommonMethods<T> {
    set?<T>(index: number, value: any): Array<T>;
    asMutable?(): Array<T>;
    asObject?<U>(toKeyValue: (item: T) => Array<Array<any>>): U;
    flatMap?<U>(mapFunction: (item: T) => Array<U>)
  }

  type Immutable = {
    <T>(obj: Array<T>, options?: any): Array<T> & ImmutableArrayMethods<T>;
    <T>(obj: T, options?: any): T & ImmutableObjectMethods<T>;
    isImmutable(target: any): boolean;
    ImmutableError(message: string): Error;
  }

  var Immutable:Immutable;
  export = Immutable;

}

@jonaskello I couldn't get the simple d.ts working when transpiling to es6, only thing working is in this format:
declare module "seamless-immutable" {
    export default function <T>(obj: T, options?: any): T;
    export function isImmutable(target: any): boolean;
    export function ImmutableError(message: string): Error;
    // ...
}

Btw, I've been thinking about something awesome, if JavaScript had API like this:
var frozenObject = Object.freeze({ something: [1,2,3,4,5] });

var mutatedFrozenObject = Object.mutate(frozenObject, (mutateObject) => {
    mutatObject.something[1] = 99;
});

mutatedFrozenObject.something[1] === 99;

The API would be probably simple enough for JavaScript engines to optimize the mutation function to work really fast, and it would allow to use all normal libraries to mutate frozen object.

I made a small change to what @jonaskello did to this:
declare module SeamlessImmutable {
    interface ImmutableCommonMethods<T>{
        setIn?<U extends T>(keys: Array<string|number>, value: any): T | U;
        merge?<U>(obj: U): T & U;
    }

    interface ImmutableObjectMethods<T> extends ImmutableCommonMethods<T> {
        set?<U extends T>(key: string, value: any): U;
        asMutable?(): T;
        without?<U>(key: string): U;
        without?<U>(keys: string[]): U;
        without?<U>(...args: string[]): U;
        without?<U>(keyFunction: (value: any, key: string) => boolean): U;
    }

    interface ImmutableArrayMethods<T> extends ImmutableCommonMethods<T> {
        set?<T>(index: number, value: any): Array<T>;
        asMutable?(): Array<T>;
        asObject?<U>(toKeyValue: (item: T) => Array<Array<any>>): U;
        flatMap?<U>(mapFunction: (item: T) => Array<U>)

    }
}

declare module 'seamless-immutable' {
  type Immutable = {
    <T>(obj: Array<T>, options?: any): Array<T> & SeamlessImmutable.ImmutableArrayMethods<T>;
    <T>(obj: T, options?: any): T & SeamlessImmutable.ImmutableObjectMethods<T>;
    isImmutable(target: any): boolean;
    ImmutableError(message: string): Error;
  }

  var Immutable:Immutable;
  export = Immutable;
}

This way I can import using import * as SI  from "seamless-immutable"
and use it with state = SI<MyType>({...})
but I can also type my functions / variables:
let state: MyType & SeamlessImmutable.ImmutableObjectMethods<MyType >;
...
state = SI<MyType>({...})

and can create helper functions:
export function update<T>(obj:T & SeamlessImmutable.ImmutableObjectMethods<T>, update:any):T {
    return obj.merge(update);
}

export function removeProperty<T>(obj:T & SeamlessImmutable.ImmutableObjectMethods<T>, propertyName:string):T{
    return obj.without<T>(propertyName);
}

I only wish I could find a way to declare ImmutableObjectMethods<T> to include T's members so I wouldn't need to use the & operator everywhere

@zivni You can declare a type which is the intersection of MyType and SeamlessImmutable.ImmutableObjectMethods so you won't need to use the '&' everywhere.
interface MyType {
	message: string;
};

type ImmutableMyType = MyType & SeamlessImmutable.ImmutableObjectMethods<MyType>;

let my: ImmutableMyType = {
	message: 'It works!'
};

Did you guys make any progress on this one?
We've decided to use seamless-immutable @ work but we would like to have typings.
I'm willing to help work on the typings, so if you have any update, don't hesitate to share (gist?)

Here are the latest typings we have, although we do not use them on our project yet:
declare module 'seamless-immutable' {
	interface AsMutableOptions {
		deep:boolean;
	}

	interface ImmutableCommonMethods<T> {
		setIn<U extends T>(keys:Array<string|number>, value:any):T | U;
		merge<U>(obj:U):T & U;
	}

	export interface ImmutableObjectMethods<T> extends ImmutableCommonMethods<T> {
		asMutable():T;
		asMutable(asMutableOptions:AsMutableOptions):T;
		set<U extends T>(key:string, value:any):U;
		setIn<U extends T>(key:Array<string>, value:any):U;
		update<U extends T>(key:string, updaterFunction:(value:any) => any):U;
		update<U extends T>(key:string, updaterFunction:(value:any, additionalParameter1:any) => any, arg1:any):U;
		update<U extends T>(key:string, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any) => any, arg1:any, arg2:any):U;
		update<U extends T>(key:string, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any, additionalParameter3:any) => any, arg1:any, arg2:any, arg3:any):U;
		update<U extends T>(key:string, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any, additionalParameter3:any, additionalParameter4:any) => any, arg1:any, arg2:any, arg3:any, arg4:any):U;
		updateIn<U extends T>(key:Array<string>, updaterFunction:(value:any) => any):U;
		updateIn<U extends T>(key:Array<string>, updaterFunction:(value:any, additionalParameter1:any) => any, arg1:any):U;
		updateIn<U extends T>(key:Array<string>, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any) => any, arg1:any, arg2:any):U;
		updateIn<U extends T>(key:Array<string>, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any, additionalParameter3:any) => any, arg1:any, arg2:any, arg3:any):U;
		updateIn<U extends T>(key:Array<string>, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any, additionalParameter3:any, additionalParameter4:any) => any, arg1:any, arg2:any, arg3:any):U;
		without<U>(key:string):U;
		without<U>(keys:string[]):U;
		without<U>(...args:string[]):U;
		without<U>(keyFunction:(value:any, key:string) => boolean):U;
	}

	export interface ImmutableArrayMethods<T> extends ImmutableCommonMethods<T>, Array<T> {
		set<T>(index:number, value:any):Array<T>;
		asMutable():Array<T>;
		asMutable(asMutableOptions:AsMutableOptions):Array<T>;
		asObject<U>(toKeyValue:(item:T) => Array<Array<any>>):U;
		flatMap<U>(mapFunction:(item:T) => Array<U>):U;
	}

	export function from<T>(obj: Array<T>, options?: any): Array<T> & ImmutableArrayMethods<T>;
	export function from<T>(obj: T, options?: any): T & ImmutableObjectMethods<T>;

	export function isImmutable(target: any): boolean;
	export function ImmutableError(message: string): Error;
}

If I recall correctly we had trouble with the default exported function so we skipped doing typings for that and instead went with using the from() method as it is a named export which is easier to do typings for. So usage would be something like:
import * as SI from 'seamless-immutable'

const myImmutable = SI.from(myObj);

As a side note I am also looking into alternate ways of achieving immutability in typescript. I have found two ways so far. First you can in ts 2.0 (or at least in 1.9 pre-release) declare your interfaces as readonly like this:
interface Foo {
	readonly x:string,
	readonly y:number
}

Second you can try to achieve immutability by tslint rules. I am doing some work on that here.

Thanks for the update.
I like to keep the typing (interfaces and so) in a separate module. that way I can just reference the directly without import.
With   type Immutable = { <T>(obj: Array<T>, options?: any)... as I posted above I can use SI(myObj) without the from function.
Here is my typing after I've included missing typing that @jonaskello  added:
declare module SeamlessImmutable {
    interface DeepMutate {
        deep: boolean
    }
    interface ImmutableCommonMethods<T> {
        setIn?<U extends T>(keys: Array<string | number>, value: any): T | U;
        merge?<U>(obj: U, options?: DeepMutate): T & U;
    }

    interface ImmutableObjectMethods<T> extends ImmutableCommonMethods<T> {
        set?<U extends T>(key: string, value: any): U;
        asMutable?(): T;
        asMutable?(AsMutableOptions): T;
        without?<U>(key: string): U;
        without?<U>(keys: string[]): U;
        without?<U>(...args: string[]): U;
        without?<U>(keyFunction: (value: any, key: string) => boolean): U;
    }

    interface ImmutableArrayMethods<T> extends ImmutableCommonMethods<T>, Array<T> {
        set?<T>(index: number, value: any): Array<T>;
        asMutable?(): Array<T>;
        asMutable?(DeepMutate): Array<T>;
        asObject?<U>(toKeyValue: (item: T) => Array<Array<any>>): U;
        flatMap?<U>(mapFunction: (item: T) => Array<U>)
    }
}

declare module 'seamless-immutable' {
    type Immutable = {
        <T>(obj: Array<T>, options?: any): SeamlessImmutable.ImmutableArrayMethods<T>;
        <T>(obj: T, options?: any): T & SeamlessImmutable.ImmutableObjectMethods<T>;
        isImmutable(target: any): boolean;
        ImmutableError(message: string): Error;
        from<T>(obj: Array<T>, options?: any): SeamlessImmutable.ImmutableArrayMethods<T>;
        from<T>(obj: T, options?: any): T & SeamlessImmutable.ImmutableObjectMethods<T>;
    }

    var Immutable: Immutable;
    export = Immutable;
}

Thanks a lot @jonaskello. I spent all morning battling against those typings and couldn't find a way to re-export a type corresponding to the Immutable object returned by seamless-immutable... just like you said.
Your comment helped me move forward.
Here's what I've ended up with:
declare module "seamless-immutable" {
                interface ImmutableCommonMethods<T>{
                               setIn?(propertyPath: Array<string|number>, value: any): Immutable<T>;
                               merge?(part: T): Immutable<T>;
                }

                export interface ImmutableObject<T> extends ImmutableCommonMethods<T> {
                               set(property: string, value: any): Immutable<T>;
                               setIn(propertyPath:Array<string>, value:any):Immutable<T>;

                               asMutable(): T;
                               asMutable(opts:AsMutableOptions): T;

                               update(property:string, updaterFunction:(value:any) => any):Immutable<T>;
                               update(property:string, updaterFunction:(value:any, additionalParameter1:any) => any, arg1:any):Immutable<T>;
                               update(property:string, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any) => any, arg1:any, arg2:any):Immutable<T>;
                               update(property:string, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any, additionalParameter3:any) => any, arg1:any, arg2:any, arg3:any):Immutable<T>;
                               update(property:string, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any, additionalParameter3:any, additionalParameter4:any) => any, arg1:any, arg2:any, arg3:any, arg4:any):Immutable<T>;

                               updateIn(propertyPath:Array<string>, updaterFunction:(value:any) => any):Immutable<T>;
                               updateIn(propertyPath:Array<string>, updaterFunction:(value:any, additionalParameter1:any) => any, arg1:any):Immutable<T>;
                               updateIn(propertyPath:Array<string>, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any) => any, arg1:any, arg2:any):Immutable<T>;
                               updateIn(propertyPath:Array<string>, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any, additionalParameter3:any) => any, arg1:any, arg2:any, arg3:any):Immutable<T>;
                               updateIn(propertyPath:Array<string>, updaterFunction:(value:any, additionalParameter1:any, additionalParameter2:any, additionalParameter3:any, additionalParameter4:any) => any, arg1:any, arg2:any, arg3:any):Immutable<T>;

                               without(property:string):Immutable<T>;
                               without(propertyPath:string[]):Immutable<T>;
                               without(...properties:string[]):Immutable<T>;
                               without(filter:(value:any, key:string) => boolean):Immutable<T>;
                }

                export interface ImmutableArray<T> extends ImmutableCommonMethods<T> {
                               set(index: number, value: any): ImmutableArray<T>;
                               asMutable(): Array<T>;
                               asMutable(opts:AsMutableOptions): Array<T>;
                               asObject(toKeyValue: (item: T) => Array<Array<any>>): ImmutableArray<T>;
                               flatMap(mapFunction: (item: T) => ImmutableArray<T>): any;

                               // TODO review methods (missing ones for arrays?)
                }

                interface Options {
                               prototype?: any;
                }

                interface AsMutableOptions {
                               deep: boolean;
                }

                // an immutable object is both of Type T (i.e., looks like a normal T) and of type Immutable<T>
                export type Immutable<T> = T & (ImmutableObject<T> | ImmutableArray<T>);

                // TODO it would be ideal to be able to expose that type and have the variable available from client code
                // couldn't figure out how to do this unfortunately
                /*
                export type SeamlessImmutable = {
                               <T>(obj: T, options?: Options): T & ImmutableObject<T>;
                               <T>(obj: Array<T>, options?: Options): Array<T> & ImmutableArray<T>;
                               from:SeamlessImmutable;
                               isImmutable(target: any): boolean;
                               ImmutableError(message: string): Error;
                };

                export const Immutable: SeamlessImmutable;
                */

                export function from<T>(obj: T, options?: Options): T & ImmutableObject<T>;
                export function from<T>(obj: Array<T>, options?: Options): Array<T> & ImmutableArray<T>;

                export function isImmutable(target: any): boolean;
                export function ImmutableError(message: string): Error;
}

I'll try to take some time and publish those typings as an npm package.
I also made a "global" version for cases where seamless-immutable is loaded as a script tag (i.e., when it attaches Immutable to the window object).

The advantage of the above is that in my code I can import the same way you mentionned, but also import the Immutable type separately, which makes for a nicer TS API:
import * as SeamlessImmutable from "seamless-immutable";
import {Immutable} from "seamless-immutable";
...
const immutablePerson:Immutable<Person> = SeamlessImmutable.from(new Person());
...

@zivni You may already be aware of this but if you want your typings global like that I would recommend using the namespace syntax instead. The module without quotes syntax is not preferred anymore (since ts 1.5). So instead of declare module SeamlessImmutable { ...} I would recommend declare namespace SeamlessImmutable { ...}. They are totally equivalent so technically it does not matter. You can read more in the official ts documentation:

A note about terminology: It’s important to note that in TypeScript 1.5, the nomenclature has changed. “Internal modules” are now “namespaces”. “External modules” are now simply “modules”, as to align with ECMAScript 2015’s terminology, (namely that module X { is equivalent to the now-preferred namespace X {).

+1

Nice work. @dsebastien could you add your file to tsd/npm so that anyone can use it easily?

It may be better to include the typings into seamless-immutable package itself (https://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html), thus no external tsd/npm package will be required.

Actually I think typings should be in their own package. That's the way the TypeScript team pushes forward now with TS 2.0+ (see here: https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/)
The reason is that people don't necessarily want to release a new version of a library because the typings are incomplete or buggy. I guess there are pros and cons to both approaches

@dsebastien I was under the impression that the way moving forward is that the typings author should make a PR to the DefinitelyTyped repo, not produce his own npm package. Microsoft will then export DefinitelyTyped to @types npm packages automatically. Could you quote where it says they should be put in their own package?

@dsebastien I think it is good when something forces authors to keep complete and reliable typings).

@jonaskello might be the latest news, I don't know ^^
@mnasyrov well I believe in TypeScript so I see its value, but developers of pure JS libs might simply not care enough ^^

I'm experimenting with the types from @dsebastien.
I added this definition:
export function from<T, U>(obj: Array<T>, options?: Options): Array<T & U> & ImmutableArray<T>;

This lets me do the following:
const articleList = SeamlessImmutable.from<Article, ImmutableObject<Article>>(new Array<Article>(...articles));
articleList[0].set("title", "anotherTitle");

Which is quite handy, otherwise I would need to do some ugly type casting to get the correct type for the elements in the array.
Maybe the types in ImmutableArray can be more strict like in set(index: number, value: any): ImmutableArray<T>;, my thought was it should be set(index: number, value: T): ImmutableArray<T>;, but I'm a relative new user of this library, so I'm not really sure.
It'd be awesome if someone has the time to work on a PR on https://github.com/DefinitelyTyped/DefinitelyTyped.

I have opened this PR https://github.com/DefinitelyTyped/DefinitelyTyped/pull/11717 from @dsebastien work, I did some questionable choices and I am happy to reply to any questions. I hope it will help :)

For information the PR has been merged, feel free to open a new PR on DefinitelyTyped to improve the type definition file in case there are some quirks.

Awesome! If @alex3165 if you'd like to open a PR to seamless-immutable to add a link to the typings in our README, I would be happy to accept it.
Thanks for all the hard work on this!

How are you supposed to use the type definition in https://github.com/alex3165/DefinitelyTyped/blob/14740e2ee4239622065cbc674d793586f5cf24b7/seamless-immutable/seamless-immutable.d.ts?
I have tried these:
import {Immutable} from "seamless-immutable"; import * as Immutable from "seamless-immutable";
but neither give me an Immutable function I can use - TypeScript says error TS2349: Cannot invoke an expression whose type lacks a call signature.

If you use typings to manage your type declaration file :
typings install dt~seamless-immutable --save --global

or now with typescript 2 you can use npm to manage the types :
npm install --save-dev @types/seamless-immutable

Then you have to import seamless-immutable like this :
import * as SI from 'seamless-immutable';

Thanks, but now If I try and do:
const initialState = SI.Immutable({});
I get:
src/reducers/bookings/reducer.ts(10,22): error TS2349: Cannot invoke an expression whose type lacks a call signature.
src/reducers/calendar/reducer.ts(10,25): error TS2339: Property 'Immutable' does not exist on type 'typeof SeamlessImmutable'.
I thought, looking at the code at https://github.com/rtfeldman/seamless-immutable there should be an Immutable function available?

Try:
// for an object
SI.from({});
// for an array
SI.from([])

OK great - at least I can get moving now! But why does using the typescript definition mean you can;t used the documented interface?

I have just ported the last type definition file from above to the definitelyTyped registry and cleaned it a bit so I am not too sure about this from choice. It is something that need to be fixed or documented indeed.

@alex3165  I had just installed the definitions from npm install @types/seamless-immutable and I get a different file than that hosted on DefinitelyTyped. It seems the one installed using @types... is out of date as I could not get it to work properly with an error stating the from function was not available. The new definition you have at DefinitelyTyped works because it declares the 'seamless-immutable' module correctly.
Too me a while to figure out what was going on, not sure the process but maybe you have to update the one installed by @types...
Hope this helps anyone else struggling with it.  Cheers

Sine typescript 2.0 It is now possible to achieve immutability at compile-time by just using the readonly keyword and ReadonlyArray. That is what I have been doing lately. I also made tslint-immutable which uses tslint rules to make sure that readonly is enforced.

@jonaskello readonly is great, but the problem is that it can't be made recursive yet, pending https://github.com/Microsoft/TypeScript/issues/10725
As to your library, I haven't used it yet, but it looks nice. I just wish that you could limit the linting rules to certain files: https://github.com/jonaskello/tslint-immutable/issues/25

Commenting to follow this conversation.

I ended up writing a new type definition file for seamless-immutable 7 that works well with TypeScript 2.4
I've had writing product types like you see below
import { ImmutableObject } from 'seamless-immutable';

type ImmutableState<T> = ImmutableObject<T> & T;

export default ((state: ImmutableState<UserState>, action: Action): ImmutableState<UserState> => {
  switch(action.type) {
    case 'ASSIGN_USER': {
      return state.merge({number: action.number});
    }
    default: {
      return state || initialState;
    }
  }
});

For anyone interested, I threw together a full example app with redux/typescript 2.4/seamless 7.1.2

@toranb  What about Immutable.static?

@Connormiha I'm down to add something for it - my hacking was mostly for methods I was using (if this is something you are interested in providing type defs for I'd be willing to update it). Might ping me on that repo instead to start a thread about it

@toranb @Connormiha where did y'all end up with the static typings?

@lifehackett I've got a privately maintained typedef for this lib that works w/ typescript 2.7
https://github.com/toranb/seamless-immutable-tsdefs/commits/master

Thanks for the response @toranb . I don't see a fix for the static typings in your typedef repo though. The typedefs in this lib and your repo work fine for something like state.set('foo', 'bar'), but fall apart when you use the static syntax (which is recommended by the seamless-immutable authors) like Immutable.set(state, 'foo', 'bar').
I am able to extend it locally like this
declare module 'seamless-immutable' {
  export function set<K extends keyof T>(obj: ImmutableObject<T>, property: K, value: T[K]): ImmutableObject<T>;
  export function set<TValue>(obj: ImmutableObject<T>, property: string, value: TValue): ImmutableObject<T>;
}

Not sure if that is exactly the correct signature as this is my first foray into TS, but it does remove the TS errors. I'll look to contribute these back to the repo when I have some time to flush them all out, but thought I'd check that it hadn't already been done first. Thanks again

@lifehackett fair point! I've also not tried this yet w/ typescript v2.8+
I'm happy to add you as a contributor to that one off typedefs repo if you get deep into it ;)

Why do getIn return type Immutable<T> , not ImmutableObject<T> ?
interface IInterface {
  str: string;
}

type TImmutableType = ImmutableObject<IInterface>;

const immutableObject: TImmutableType = Immutable({
  str: 'simple string'
});

const getString = (): string => immutableObject.getIn(['str']).asMutable();
                      ^^^^^^^
TS2322: Type 'string | string[]' is not assignable to type 'string'.
  Type 'string[]' is not assignable to type 'string'

Is it a bag? Do we need to duplicate typings of getIn in ImmutableArray ? Or how I can fix it?


Refactor Utilities.php and write tests for Position helpers

Hi @mousetraps, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Sara Itani). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


chore(component): add eye-slash icon for ODD

add eye-slash icon for ODD
RCORE-312

Overview
Add eye-slash icon for ODD. Took the name from Bootstrap icon's name
This will close RCORE-312

Changelog

add a new icon, eye-slash

Review requests

[ ] the icon show app when running make -C components dev

Risk assessment
low

lgtm! i read the icon name as "eye-lash" originally 🤣

😂 if the eye was closed-style, that name might make sense to people.


Add formal wording for hash to indirect

Fixed by #77

I took a look at the current implementation of hash at indirect.h#L288. I hope it's fine that I append my thoughts to this issue:

Do you intend to support hash for indirect with custom allocators? Right now std::hash is specialized only for indirect<T> (which is the same as indirect<T, std::allocator<T>>), but there is no support for arbitrary allocator types.
I took a look at how std::hash is specialized for std::optional: https://eel.is/c++draft/optional#hash. The wording also supports hashing std::optional<const T>. Do you intend to support hashing indirect<const T>, too? I think that before answering this question, the first question to answer is whether indirect<const T> (and polymorphic<const T>) should be supported.

Hi @Ukilele,
Thanks, good catch regarding std::hash, that's an oversight in the implementation.  This should work with custom allocators, I've now added support for this: https://github.com/jbcoe/value_types/pull/56
Regarding whether we should support indirect<const T> and polymorphic<const T> that is a good question and should probably be mentioned either way in the paper.  @jbcoe what are your thoughts here?

@Ukilele I hope it was implicit that our answer to "I hope it's fine that I append my thoughts to this issue" is that your input is, has been and continues to be extremely welcome. You've a great eye for detail and are a pleasure to work with.


Remove the references to manual database configuration from documentation

Currently our documentation shows how to connect to MySQL via a relation, but also manually.
The manual DB connection will soon be removed from the charm, but we want to remove it from the documentation first.

I'm closing this out and will open a PR from a branch rather than a fork, and create a story to update our CI so that we can run the tests that don't require secrets from forks.


Fix F# template

Summary of the changes (Less than 80 chars)

Current template fails to build

c:\temp\asp>dotnet new mvc -lang F#
The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully.
This template contains technologies from parties other than Microsoft, see https://aka.ms/aspnetcore-template-3pn-210 for details.

Processing post-creation actions...
Running 'dotnet restore' on c:\temp\asp\asp.fsproj...
  Restoring packages for c:\temp\asp\asp.fsproj...
  Generating MSBuild file c:\temp\asp\obj\asp.fsproj.nuget.g.props.
  Generating MSBuild file c:\temp\asp\obj\asp.fsproj.nuget.g.targets.
  Restore completed in 162.09 ms for c:\temp\asp\asp.fsproj.

Restore succeeded.

c:\temp\asp>dotnet build
Microsoft (R) Build Engine version 16.0.386-preview+ga1e757f759 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 12.59 ms for c:\temp\asp\asp.fsproj.
C:\Program Files\dotnet\sdk\3.0.100-preview3-010283\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(151,5): message NETSDK1057: You are using a preview version of .NET Core. See: https://aka.ms/dotnet-core-preview [c:\temp\asp\asp.fsproj]
c:\temp\asp\Startup.fs(42,13): error FS0597: Successive arguments should be separated by spaces or tupled, and arguments involving function or method applications should be parenthesized [c:\temp\asp\asp.fsproj]

Build FAILED.

c:\temp\asp\Startup.fs(42,13): error FS0597: Successive arguments should be separated by spaces or tupled, and arguments involving function or method applications should be parenthesized [c:\temp\asp\asp.fsproj]
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:01.84

c:\temp\asp>

@ryanbrandenburg, That I don't know.

@KevinRansom there are some failures of our checks here that I believe will be fixed if you rebase on top of the latest. Once that's green I'll be able to merge.

/azp run AspNetCore-ci

Yeah @anurse this needs changes to the yml file in master.

AZP runs against the merge, so re-running is usually sufficient to pick up the latest in master.

Thanks @KevinRansom!


release: v0.8.1

Contains bug fixes and various code quality related changes:

[ ] #220
[x] #229
[x] #225
[ ] #226
[x] #231

Closed in favour of #235


Documentation not building

As I expand the range of people using cgatcore, the lack of documentation is becomeing more and more of a problem.
I believe this is because there is no .readthedocs.yml, nor documentation requirements.

yes this is because im in the process of transitioning towards mkdocs here (first few commits last week or two): https://cgat-developers.github.io/cgat-core/. Docs are now automatically built using github actions and then pushed to github pages. I have been trying to keep the hosting with readthedocks and using webhook but its frustrating me and I temp gave up, but have plans to give it another go

Is there anything I can do to help? Seems the github pages are simlar to the readthedocs pages, in that the static pages are generating well, but many of the autogenerated pages are still empty.

yes at the moment im just trying to build on mkdocs as its easier to host on github than readthedocs, but also trying to get a hook for building on readthedocs. Documentation needs improving throught though, unless im mistaken I can see on gihub pages that the autogenerated pages are now building.

oops yes, typo. Have fixed in: #189.  All that needs to be done now should be to update documentation and during github actions the documentation is automatically built now.


Cannot generate WSJ data

Hello,
I am trying to generate the WSJ data.
I installed python 3.7 in order to be able to install pytokenizations 3.7.
However, we calling ./build_corpus.sh I have the following error:
% ./build_corpus.sh
Traceback (most recent call last):
  File "recover_whitespace.py", line 295, in <module>
    write_to_file(args.treebank3_root, args.treebank3_root, train_splits, 'train_02-21.LDC99T42', 'train_02-21.LDC99T42.text')
  File "recover_whitespace.py", line 263, in write_to_file
    words_and_whitespace = get_words_and_whitespace(treebank3_root, splits, [tree_file])
  File "recover_whitespace.py", line 162, in get_words_and_whitespace
    raw_sents = get_raw_text_for_trees(treebank_root, splits, tree_files)
  File "recover_whitespace.py", line 84, in get_raw_text_for_trees
    line = next(line_iter)
StopIteration

Note that I have the correct WSJ versions (both datasets), and many sentences are preprocessed before this error is triggered:
% wc -l train_02-21.LDC2015T13
   39831 train_02-21.LDC2015T13
% wc -l train_02-21.LDC99T42
   39832 train_02-21.LDC99T42

Any idea why I get this error?
Thanks.

Hi,
May I ask if you have solved this problem? I'm having the same problem now.
Thanks.


Add "ReLU6, HardSwish, KAF, ELiSH, HardELiSH"

Describe the feature and the current behavior/state.
These activation functions are required by communities and are commonly used by up-to-date architectures.

ReLU6
HardSwish
KAF
ELiSH
HardELiSH

Relevant information

Are you willing to contribute it (yes/no): YES
Are you willing to maintain it going forward? (yes/no): YES
Is there a relevant academic paper? (if so, where): YES

ReLU6
HardSwish
KAF
ELiSH, HardELiSH

Is there already an implementation in another framework? (if so, where): torch, tf.nn
Was it part of tf.contrib? (if so, where): NO

Which API type would this fall under (layer, metric, optimizer, etc.)
tfa.activation
Who will benefit with this feature?
Researchers need up-to-date Activation
Any other info.

relu6 and swish are already  in TF core. I haven't heard any of the others. Can you point out any papers using them?

As far as I know, HardSwish is not in Core. I think the link I attached will help you explain other Activation Function.
Thank You!

HardSwish Is in Tensorflow lite

Thanks for the info. IMO, it is okay to add new activation functions but we also need to check the coverage, like how many times the paper for a corresponding activation has been cited. If the coverage for a any functionality is very low, it doesn't add much value to the ecosystem but rather increase the burden of maintenance.
Anyways, that's just my opinion. Let's hear what other maintainers have to say about this. cc: @seanpmorgan @WindQAQ

@AakashKumarNain we was thinking something similar in https://github.com/tensorflow/community/pull/241/files#diff-24cf1a9d17b0988437751c2472f2c296R13 but it is still not expanded.
Probably we could expand on that and just lower the barrier for TFA.

@bhack I agree that the barrier for TFA should be low as compared to core TF. But we need to decide that factor IMO to make it more clear for the contributors

Yes what I meant is that if we could clear up this in the upstreaming process it could be easier to define for TFA (or the other way around).

TensorFlow Addons is transitioning to a minimal maintenance and release mode. New features will not be added to this repository. For more information, please see our public messaging on this decision:
TensorFlow Addons Wind Down
Please consider sending feature requests / contributions to other repositories in the TF community with a similar charters to TFA:
Keras
Keras-CV
Keras-NLP


v2.26.0-alpha.6 -> beta

this is fixing https://github.com/open-sauced/hot/pull/375/files#diff-8106b33209645813f4d86b44dd0135c305184ab013153e6196303b8bc07e86bb
hopefully 😅 🍕

It might make sense to nuke this alpha branch and start is all over. The biggest loss is #322, but I already opened an issue for that to be re-done on beta #380

It might make sense to nuke this alpha branch and start is all over. The biggest loss is #322, but I already opened an issue for that to be re-done on beta #380

https://github.com/open-sauced/hot/tree/alpha-fix just a little bit longer :D

@bdougie seems like a side effect of all the magic I've done erased the grid components, should those be added back in?

@bdougie seems like a side effect of all the magic I've done erased the grid components, should those be added back in?

No that has been dead code for awhile. It is fine to be deleted.


fix: restore library updates

Co-Authored with @Palmaswell
Missing last sanity checks by me. Putting this up for inspection in the meantime.

Will be squashed.

Deployed at: https://alva-issues-676.surge.sh


add Lightning Talk

.NET Fiddle has already been taken. I don't think this tool has enough to offer for two talks. Any other topic that would be of interest for you?


nRF52, NXP kinetis, ARM Beetle and  STM MPU option appear for every MPU-equipped device

Such options appear in menuconfig under [ARM Options]->[SoC Options]->*
Looks like it is required to make them dependent on appropriate architectures is only reqired for fix this issue.

fix for nRF52xx is included in https://github.com/zephyrproject-rtos/zephyr/pull/7449

cc @MaureenHelm @galak @nashif @fvincenzo
I don't have enough knowledge (about device families) for fix this for particular devices - what i can suggest is that it has to by fixed by appropriate maintainers.

Can you explain this a bit more, how are things show up in menuconfig?

I added the snipped.

Thanks, I've got a fix I think across all the SoCs.  Will post in a minute.


[flutter_tools] Pull more arm64 artifacts on Apple Silicon

If the host is an arm64 mac, this PR causes arm64 tools to be downloaded instead of x64 tools. To avoid a large refactoring to the artifact cache, the arm64 tools are still placed in the darwin-x64 directory. Luckily the name of the directory isn't too important. We might even consider just renaming it darwin instead of trying to plumb host architecture information all over the place.
Fixes: https://github.com/flutter/flutter/issues/110227 https://github.com/flutter/flutter/issues/110226 https://github.com/flutter/flutter/issues/109892

Here's one that exercises impeller: https://luci-milo.appspot.com/raw/build/logs.chromium.org/flutter/led/magder_google.com/350dfe0bd08ece80558fdef608b717c295746e04201fcbaa0335bed1ea50a4c3/+/build.proto
$ led get-builder 'luci.flutter.try:Mac_ios new_gallery_impeller_ios__transition_perf' | led edit -d pool=luci.flutter.staging | led edit -d cpu=arm64 | led edit -pa 'revision="47b0360f3d0393155e1e3766a70f2baf88fdb424"' | led edit -pa git_ref='refs/pull/110291/head' | led edit -pa git_url='https://github.com/flutter/flutter' | led launch

Hi
On what version of flutter will this be released? 👍🏻

This is available on 3.4.0-18.0.pre.


Can't get Storybook working (Windows issue?)

What's not working?
On a fresh install of RW 0.15.3, when I try to run storybook I get the following output
Looking in my node_modules folder I can't find the generated-entry.js file at all
There's something funky going on with edwood♂153websrc, kind of like it originally was \redwood\v153\web\src or something (which looks like a semi-valid Windows path) and then it interpreted the Windows path-separator as an escape character. So \r became carriage return, \v became male sex sign 🤷♀ and \w and \s were not recognized as escape codes, so the backslash was just dropped...
tobbe@XPS9550 MINGW64 ~/dev/redwood/v153
$ yarn rw storybook
yarn run v1.22.4
$ C:\Users\tobbe\dev\redwood\v153\node_modules.bin\rw storybook
$ C:\Users\tobbe\dev\redwood\v153\node_modules.bin\msw init C:\Users\tobbe\dev\redwood\v153\web\public
$ C:\Users\tobbe\dev\redwood\v153\node_modules.bin\start-storybook --config-dir ../node_modules/@redwoodjs/core/config/storybook --port 7910 --no-version-updates --ci --static-dir C:\Users\tobbe\dev\redwood\v153\web\public
Initializing the Mock Service Worker at "C:\Users\tobbe\dev\redwood\v153\web\public"...
Service Worker successfully created!
C:\Users\tobbe\dev\redwood\v153\web\public\mockServiceWorker.js
Continue by creating a mocking definition module in your application:
https://mswjs.io/docs/getting-started/mocks
info @storybook/react v5.3.19
info
info => Loading static files from: C:\Users\tobbe\dev\redwood\v153\web\public .
info => Loading presets
info => Loading presets
info => Loading custom babel config as JS
info => Loading custom babel config as JS
info => Loading config/preview file in "../node_modules/@redwoodjs/core/config/storybook".
info => Adding stories defined in<EMAIL_ADDRESS>info => Using default Webpack setup.
info => Using base config because react-scripts is not installed.
webpack built ab30d37ca5a1eaf7918e in 14155ms
× ｢wdm｣: Hash: ab30d37ca5a1eaf7918e
Version: webpack 4.44.1
Time: 14155ms
Built at: 2020-08-10 12:04:40
Asset      Size  Chunks                                Chunk Names
0.ab30d37ca5a1eaf7918e.bundle.js  2.63 KiB       0  [emitted] [immutable]
0.ab30d37ca5a1eaf7918e.bundle.js.map  1.96 KiB       0  [emitted] [dev]
1.ab30d37ca5a1eaf7918e.bundle.js  2.18 KiB       1  [emitted] [immutable]
1.ab30d37ca5a1eaf7918e.bundle.js.map  1.46 KiB       1  [emitted] [dev]
iframe.html  2.74 KiB          [emitted]
main.ab30d37ca5a1eaf7918e.bundle.js  4.13 MiB    main  [emitted] [immutable]  [big]  main
main.ab30d37ca5a1eaf7918e.bundle.js.map  4.48 MiB    main  [emitted] [dev]               main
Entrypoint main [big] = main.ab30d37ca5a1eaf7918e.bundle.js main.ab30d37ca5a1eaf7918e.bundle.js.map
[0] multi<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>../node_modules/webpack-hot-middleware/client.js?reload=true&quiet=true 76 bytes {main} [built]
<EMAIL_ADDRESS>347 bytes {main} [built]
<EMAIL_ADDRESS>505 bytes {main} [built]
<EMAIL_ADDRESS>1.32 KiB {main} [built]
<EMAIL_ADDRESS>120 bytes {main} [built]
<EMAIL_ADDRESS>93 bytes {main} [built]
<EMAIL_ADDRESS>1.34 KiB {main} [built]
[../node_modules/airbnb-js-shims/index.js] 40 bytes {main} [built]
[../node_modules/core-js/features/symbol/index.js] 359 bytes {main} [built]
[../node_modules/global/window.js] 232 bytes {main} [built]
[../node_modules/querystring-es3/index.js] 127 bytes {main} [built]
[../node_modules/react/index.js] 190 bytes {main} [built]
[../node_modules/regenerator-runtime/runtime.js] 24 KiB {main} [built]
[../node_modules/strip-ansi/index.js] 161 bytes {main} [built]
[../node_modules/webpack-hot-middleware/client.js?reload=true&quiet=true] 7.68 KiB {main} [built]
+ 1317 hidden modules
ERROR in<EMAIL_ADDRESS>edwood♂153websrc' in 'C:\Users\tobbe\dev\redwood\v153\node_modules@redwoodjs\core\config\storybook'
<EMAIL_ADDRESS>5:25-188
@ multi<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>../node_modules/webpack-hot-middleware/client.js?reload=true&quiet=true
Child HtmlWebpackCompiler:
Asset      Size               Chunks  Chunk Names
__child-HtmlWebpackPlugin_0  5.94 KiB  HtmlWebpackPlugin_0  HtmlWebpackPlugin_0
Entrypoint HtmlWebpackPlugin_0 = __child-HtmlWebpackPlugin_0
<EMAIL_ADDRESS>2.13 KiB {HtmlWebpackPlugin_0} [built]
WARN Broken build, fix the error above.
WARN You may need to refresh the browser.
Error from chokidar (C:): Error: EBUSY: resource busy or locked, lstat 'C:\DumpStack.log.tmp'
How do we reproduce the bug?
No response
What's your environment? (If it applies)
$ node -v
v13.12.0
$ yarn -v
1.22.4

Are you interested in working on this?

[ ] I'm interested in working on this

@test-et-pullflow-ai can you help me?

@pullflow-ai help

@test-et-pullflow-ai can you tell me more about yarn?


Duplication of computation

Does TensorFlow recognise when parts of the computational graph are duplicated, and does it automatically merge them? I haven't done a comprehensive review of the code, but this could result in a slowdown if, for example, the kern.K() was called twice in a different location in the code, while calculating the objective. Since a different TensorFlow variable would be used, TensorFlow would (unless something smart is going on) have to compute the kernel matrix twice.
Is this something you thought about when writing TensorFlow?

Hi Mark it is maybe not exactly what you want but we there is some related discussion of partial_run
https://github.com/tensorflow/tensorflow/issues/672

@markvdw  @jameshensman Althought obvious it is good if this stuff can be made automatic I also wonder if this makes a point about how we are structuring the code. I.e maybe we shouldn't be calculating the same thing twice in two different parts of the code when we know it is the same.

The way I understand it, that tensorflow issue relates to getting results out of the graph, by running. What I meant is essentially your second point. Where the graph essentially duplicates computation because of the way the code is structured.
I found a concrete example in SVGP. Here K_zz is computed twice, once in conditional() through build_predict(), and once in build_prior_KL(). If TensorFlow will make the result of these two calls to kern.K different variables, while their graphs and inputs are the same, the computation will be doubled.

If this is a problem, one way to solve it would be to memoize the inputs, and return an earlier calculated TensorFlow node, so that the computation would be re-used.

I'm quite sure this is not an issue: tf is supposed to do common subexpression elimination. see section 5.1 of the whitepaper.
http://download.tensorflow.org/paper/whitepaper2015.pdf

@jameshensman is correct. Code is here:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/graph/optimizer_cse.cc

Phew, great!


Rewrite docker container and binary release process

Fixes #735. (Most of it at least)
The commit message summarizes most of the details but there is something else that we need to discuss:
With this patch, the container released from master is no longer tagged as latest but instead it is tagged as master. That is a conscious decision. After doing some research, I came to the conclusion that the latest tag in docker should likely point to the latest stable release. Our master tag is absolutely bleeding edge so I don't think we should be using latest for that.
This patch actually does not tag any docker container as latest. It only tags releases with their according version number and latest master as master. I think that covers all the requirements we currently have and I would like to defer the tagging of a container as latest to a follow-up ticket.
You can see successful testruns here: https://github.com/thomaseizinger/itchysats/actions

Here is some docs on how to build multi-arch images step by step: https://github.com/bwt-dev/bwt/blob/master/scripts/docker-release.sh

as I haven't had much to do with multi-arch images - will this have negative impact on local storage? Is Docker smart enough to only download the parts that matter to the target platform?

To clarify, we are already using multi-arch images but it is "hidden" behind the buildx command so nothing changes in regards to how much storage docker consumes etc.

bors r+

as I haven't had much to do with multi-arch images - will this have negative impact on local storage? Is Docker smart enough to only download the parts that matter to the target platform?

To clarify, we are already using multi-arch images but it is "hidden" behind the buildx command so nothing changes in regards to how much storage docker consumes etc.

thank you for the clarification, much appreciated!


Add documentaion about Automatic retry

advanced-retry.rst could be referenced from advanced-structured-logging.rst and vice versa. Could you add a section about nested logs in advanced-structured-logging.rst and add a link to that section in advanced-retry.rst so that a user has some hint about how this works.

Thanks for your patience, @minwoox!


osquery Extensions Support

Still needs testing, so I opened this as a draft. Just wanted to get it up for high level review from @fossam.

This is tested and working.

Changes discussed above are in place and tested. This is ready for review.


Extract department specific text to locale file

NOTE: This pull request is an example only and not fully implemented.
This is a proposed solution that would allow the PensionWise team to use the Signonotron code with different text at key points within the application without requiring multiple files to be changed within a branch.
This would make merging changes from the main application easy as only the locale file would be significantly different.

It might be better to follow 12 factor config principles here and allow the Issuer (and other variables) to be overridden in the environment. Then the change is a deploy-time concern.

Hi Paul,
Total agree, apart from the size, would estimate about 50-60 bit of text
that could be different, this size could be significantly reduces depending
on how words are grouped. I still feel that using environment variables
would become cumbersome, but happy to investigate further and give
actual numbers - as mine are just gut feel.
David
On Thu, Feb 11, 2016 at 5:22 PM, Paul Bowsher<EMAIL_ADDRESS>wrote:

It might be better to follow 12 factor config http://12factor.net/config
principles here and allow the Issuer (and other variables) to be overridden
in the environment. Then the change is a deploy-time concern.
—
Reply to this email directly or view it on GitHub
https://github.com/alphagov/signonotron2/pull/468#issuecomment-182965477
.

Fair point. So I guess you'd convert everything to I18n format and then replace the locale file at deploy time? If so, :+1: for the approach

@boffbowsh @benlovell I'm not happy with the view changes (e534dd) I have made.
I'm going to create a separate pull request without any view changes and then look to refactor the mailer views to use a layout - reducing duplication - which will hopefully put me in a better place for the view changes I want to make.
Thoughts?

Sounds ok to me :+1:


python312Packages.accuweather: 3.0.0 -> 4.0.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.accuweather is: Python wrapper for getting weather data from AccuWeather servers
meta.homepage for python312Packages.accuweather is: https://github.com/bieniu/accuweather
meta.changelog for python312Packages.accuweather is: https://github.com/bieniu/accuweather/releases/tag/4.0.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.0.0 with grep in /nix/store/dd3bxsygdps18q14qydbrw7f7knk2dcw-python3.12-accuweather-4.0.0
found 4.0.0 in filename of file in /nix/store/dd3bxsygdps18q14qydbrw7f7knk2dcw-python3.12-accuweather-4.0.0

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

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

home-assistant-component-tests.accuweather
python311Packages.accuweather
python312Packages.accuweather

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/f6ce634c1bb73e9748977b49a472bc65302c4025#python312Packages.accuweather

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/dd3bxsygdps18q14qydbrw7f7knk2dcw-python3.12-accuweather-4.0.0
ls -la /nix/store/dd3bxsygdps18q14qydbrw7f7knk2dcw-python3.12-accuweather-4.0.0/bin

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

x86_64-linux

:white_check_mark: 5 packages built:

home-assistant-component-tests.accuweather
python311Packages.accuweather
python311Packages.accuweather.dist
python312Packages.accuweather
python312Packages.accuweather.dist

Maintainer pings
cc @JamieMagee for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

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

5 packages built:

home-assistant-component-tests.accuweather
python311Packages.accuweather
python311Packages.accuweather.dist
python312Packages.accuweather
python312Packages.accuweather.dist


replace blackboxprotobuf and add recent ileapp changes

I added the blackboxprotobuf to PyPI, so it installs via pip now.

Please test.. seems to be working fine for me.

Tested. No issues on my end.


Linking TRTIS as a library

Add the ability to bring TRTIS as a library into Bazel project.
Primarily, this will allow an external application easier access to the .protos needed to customize a client to talk to TRTIS.
gRPC example:
    name = "com_github_grpc_grpc",
    urls = [
        "https://github.com/grpc/grpc/archive/v1.16.1.tar.gz",
    ],
    strip_prefix = "grpc-1.16.1",
)

load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")

This allows one to create a grpc dependency @com_github_grpc_grpc//:grpc++_unsecure.
The TRTIS example might be:
http_archive(
    name = "com_github_nvidia_trtis",
    urls = [
        "https://github.com/NVIDIA/tensorrt-inference-server/archive/v0.10.0.tar.gz",
    ],
    strip_prefix = "tensorrt-inference-server-0.10.0",
)

# this part is missing - there are now top-level dependencies - they are hardcoded into the workspace which is not accessible
load("@com_github_nvidia_trtis//baze:trtis_deps.bzl, "trtis_deps")

This would allow one to build the protos: @com_github_nvidia_trtis//:src/core/api_proto.

Note that TRTIS build itself is no longer based on bazel, but cmake. But in the same spirit we could make sure that TRTIS is easy to use as a cmake external project.

We have no plans to support bazel builds. We do support CMake and it should be easy to integrate TRTIS build into an existing cmake build.


[awesome-azd] create filter bar

[ ] Default
[ ] Search applied
[ ] filter applied
[ ] Search and filter applied

https://github.com/Azure/awesome-azd/issues/152

@gkulin @hemarina moving it to Germanium i.e., delivering for Ignite.

@gkulin Is this complete?


Make the custom CA work with Mastodon.py

This is overall improving things with the Mastodon Node, although more work remains.

Make the random domain a bit longer
Better name for our custom CA
Add x509 SubjectAlternativeName to cert: apparently python ssl needs it
Added types-requests dependency to make mypy happy
Mastodon.py can now create the OAuth app using our custom CA

Will this change make a custom CA mandatory for using Mastodon servers? I'd prefer to be able to use my current configuration that uses a real CA for development purposes. If the custom CA is opt-in (or can be opt-out) then I'm fine with merging the change.

It's only used by Nodes that auto-provision an instance and need a local hostname and cert (ie UBOS Nodes right now). Doesn't affect any other nodes.


[Keyboard] Move application upwards in case of input area is clicked and keyboard appeares

@faenil @SfietKonstantin does this look ok to you? I've taken a look and it looks ok to me.

I'm not familiar with the keyboard code, sorry :/ can't ack without spending more time on it (which I don't have in this period :/ ) let's hope Lucien is available :)


operator: Fix operator flags

The operator-specific flags were not populated
Fixes: 588f8352a ("operator: split operator-only options into separate package")

test-me-please

Coverage increased (+0.01%) to 44.624% when pulling adb78fb81fcc65778194f6b7faf33aa194fa143e on pr/tgraf/fix-operator-flags into 462da1db807ae7fd04a6ed7e3f64d6e57d174af7 on master.

Hit #11213

Fix looks clear, CI flakes seem irrelevant. Good to merge.


fit to markers doesn't always fit all the markers.

This could be just unclear requirements, but when fit-to-markers is used as an attribute and also a zoom level is set, looks like the zoom level wins.
Unclear if this is the requirement?
Screenshots:
Initial View on load:

Zoomed out one level to find the other marker:

Code Snippet:
  <px-map zoom="8" fit-to-markers flex-to-size>

/cc @davidrleonard

This is also an issue even when there is no "zoom" property set. Sometimes fit-to-markers will technically fit all the markers, but will only show a tiny piece of one of the markers.
E.g. there is an orange marker to the right of Concord, but you can only see the tip of it:

If the map were just adjusted a little (not zoomed out), you could see them all:

I think the case @talimarcus  is describing (where it "barely fits" a marker with fit-to-markers) is definitely a bug.
And @ppeyro I need to think about which zoom wins in a duel between fit-to-markers and a default zoom attribute. Timing could be tricky. I'll comment here if I can think of something.

I think this might be related to the above -- the map doesn't center around a marker:
        <px-map zoom="18" fit-to-markers flex-to-size>
          <px-map-tile-layer url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"></px-map-tile-layer>
          <px-map-marker-locate lat=37.7673626 lng=-121.9595048 accuracy=12></px-map-marker-locate>
        </px-map>

Not sure if this has to do with have zoom AND fit-to-markers, or if it's just a fit-to-markers thing or something else. (or if we even expect it to center around the marker when there is only one?)

There's a lot of work that merged in with #55 to address this (including tests to cover the cases). Can you confirm this fixes the bugs @ppeyro?
Here is the description of how fit-to-markers works (from the property docs):
      /**
       * Updates the visible bounds of the map to fit all markers as they are
       * added. Markers are continuously monitored for changes, and any new
       * markers added late in the map's lifecycle (e.g. markers created
       * dynamically long after the map is loaded) will trigger an additional
       * resize of the map if they are not within its current visible bounds.
       *
       * This attribute is dynamic. To stop map resizes after some amount of time,
       * disable this attribute.
       *
       *
       * @type {Object}
       */
      fitToMarkers: {
        type: Boolean,
        value: false,
        observer: '_fitMapToMarkersIfSet'
      },

      /**
       * Optional setting that only works if `fitToMarkers` is enabled. Adds a
       * padding between the edges of the map and the visible markers shown.
       * Set to a percentage value (e.g. `0.25` for 25%). Defaults to 15%, setting
       * to a lower value will lead to some large markers potentially not fitting
       * on the map.
       *
       * @type {Number}
       */
      fitToMarkersPadding: {
        type: Number,
        value: 0.15
      },

      /**
       * Optional setting that only works if `fitToMarkers` is enabled. Determines
       * how the map will calculate its zoom level when fitting markers.
       * Choose from the following options (default is 'max'):
       *
       *    * 'max' - the map will zoom to the lowest level that fits all markers (but not past the map's `maxZoom`)
       *    * 'min' - the map will zoom to the highest level that fits all markers (but not past the map's `minZoom`)
       *    * 'none' - the map will not change its zoom level and will instead use the `zoom` property. This will center the map on the markers, but they may not all fit.
       *
       * @type {String}
       */
      fitToMarkersZoom: {
        type: String,
        value: 'max'
      }

Done in dd2cbbc3e752f81813595f868d754e0e5dd20074


Allow unknown typed location from being registered via the location service by configuration settings

Allow unknown typed location from being registered via the location service by configuration settings
Signed-off-by: Stéphane MORI<EMAIL_ADDRESS>The following commit add a check to control location type : https://github.com/backstage/backstage/commit/8838b13038cf86ef90e6ce1506097a8fc4047dcb
This check exists for security reason. But I use this method to create location with custom type.
So I submit a solution to allow unknown location type even if default configuration doesn't allow it.

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Thx for your answer, i will submit a new commit soon :)

I just made a commit considering your remarks : https://github.com/backstage/backstage/pull/13013/commits/fdc6f0ad7dc27525ff29fae6eadedf6e39ce28a3


When I make a get requests with http://<ip>:<port>/?url=..., should the ip be "localhost" if I'm running it locally on my PC or should it be something else?
Also is the port the same port that we write in the config.js under // Configuration for the HTTP API server?

 you can use 'localhost' or '<IP_ADDRESS>'

「Also is the port the same port that we write in the config.js under // Configuration for the HTTP API server?」
YES

Okay, thank you for the information.
Then I guess I've messed something up with either postgreSQL or written something wrong in the config file.


Select Component

I don't know if this is planned already but I'd like to see a select component in angular2-material.

@leNicDev see #118

See #118


Added holiday validator (#22)

Can now validate most of the portuguese holidays.

@blugt good job, i'm going to ignore the codeclimate issue since thats the only way possible I think

#22


unexpected failure to infer contraction dims

What happened?
I have this model that fails an assert on Shark, but not in the IREE base.
E               iree.compiler.tools.binaries.CompilerToolError: Error invoking IREE compiler tool iree-compile
E               Diagnostics:
E               iree-compile: /home/petkantchin/ws/iree/repo/third_party/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp:285: mlir::linalg::detail::MatchContractionResult mlir::linalg::detail::isContractionInterfaceImpl(mlir::Operation *, mlir::linalg::ContractionDimensions *): Assertion `succeeded(res) && "unexpected failure to infer contraction dims"' failed.
E               Please report issues to https://github.com/openxla/iree/issues and include the crash backtrace.
E               iree-compile: /home/petkantchin/ws/iree/repo/third_party/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp:285: mlir::linalg::detail::MatchContractionResult mlir::linalg::detail::isContractionInterfaceImpl(mlir::Operation *, mlir::linalg::ContractionDimensions *): Assertion `succeeded(res) && "unexpected failure to infer contraction dims"' failed.
E
E
E               Invoked with:
E                iree-compile /home/petkantchin/ws/iree/build/ninja/RelWithDebInfo/compiler/bindings/python/iree/compiler/tools/../_mlir_libs/iree-compile test_distributed_iree_module_from_jax_trainer_stable_diffusion_pure_train_step_fn.dist-count-1.mlir --iree-input-type=stablehlo --iree-vm-bytecode-module-output-format=flatbuffer-binary --iree-hal-target-backends=cuda -o=test_distributed_iree_module_from_jax_trainer_stable_diffusion_pure_train_step_fn.dist-count-1.mlir.cuda.vmfb --mlir-print-debuginfo --mlir-print-op-on-diagnostic=false
E
E               Need more information? Set IREE_SAVE_TEMPS=/some/dir in your environment to save all artifacts and reproducers.

../../iree/build/ninja/RelWithDebInfo/compiler/bindings/python/iree/compiler/tools/binaries.py:199: CompilerToolError

unexpected_failure_to_infer_contraction_dims.zip

This is resolved now.


Firefox - Scrolling Within Draggable Element

Unfortunately, in Firefox it is impossible to scroll within a draggable element by clicking and moving the handlebar.
Example: https://xieziyu.github.io/#/angular2-draggable/demo
In demo 1 & 4 it is impossible to scroll the source code horizontally by dragging the handlebar. The drag event of the element seems to override the drag event of the scrollbar itself.

@git-chrisp Only Firefox fires mousemove events while dragging the scrollbars.
Please refer to: https://bugzilla.mozilla.org/show_bug.cgi?id=1365761
This bug should be fixed in Firefox 55. : )


Method to preserve carriage returns in text input

Hello
Just a quick one. Filtering input with DATA_TYPE_STRING removes carriage return and linefeeds (newlines). Sometimes it is useful capture these from a <textarea>.
They get stripped because FILTER_FLAG_STRIP_LOW is always used by default on filter_input.
Perhaps there could be a  new type DATA_TYPE_RAWTEXT or something which excludes the flag?

Thanks, good point!
So you would agree that adding another mode (DATA_TYPE_*) would be better than changing the behavior of the existing one (DATA_TYPE_STRING), right? What about DATA_TYPE_MULTILINE_STRING or DATA_TYPE_LONGTEXT?
We'll have to see what's the best way to prevent the newlines from being removed while keeping the other parts of the behavior.

Yes, I agree it's good to separate basic strings from multiline strings. It's probably safer and multiline strings are an edge case.

As far as details:
DATA_TYPE_LONGTEXT looks good.
The easiest way to implement this might be just a simple switch like:
$flags = $type == self::DATA_TYPE_LONGTEXT ? self::FLAGS_LONGTEXT : self::FLAGS
$filtered = filter_input(INPUT_GET, $key, $type, $flags);

Thanks!
We'll use the existing DATA_TYPE_STRING and the new DATA_TYPE_LONGTEXT (or DATA_TYPE_LONG_TEXT or just DATA_TYPE_TEXT?) then.
Regarding the implementation, the thing is that using FILTER_FLAG_STRIP_LOW is really convenient, but unfortunately, there's no similar flag that we could use for the new behavior, it seems. So if we want that new behavior, we probably have to drop that flag altogether (at least for the new mode) and implement a custom solution for stripping those bytes.
The flag FILTER_FLAG_STRIP_LOW removes the ASCII characters 0 to 31, which we really want (mostly). ASCII characters 10 and 13 are really the exception. But since there is no FILTER_FLAG_STRIP_LOW_BUT_KEEP_NEWLINES, we'll have to use a regular expression or something like that. Right?

Hmmm maybe this is more complicated than I originally thought... Maybe it's ok to retain all characters below 31 if it's positioned as DATA_TYPE_RAWTEXT? Additionally, I was thinking it could be a good idea to retain the tab character...
This raw feature might be more useful than just for web applications. Some non-JSON REST API might benefit from including ascii control characters...

You're right, the tab character is something that we'd want to keep as well.
We could use
if ($type === self::DATA_TYPE_LONGTEXT) {
    $flags = self::FLAGS & ~FILTER_FLAG_STRIP_LOW;
}
else {
    $flags = self::FLAGS;
}

to disable the FILTER_FLAG_STRIP_LOW filter for the new mode and then
$filtered = preg_replace('/[\x00-\x08\x0b-\x0c\x0e-\x1f]/', '', $filtered);

to achieve the same effect again, but keeping CR, LF and tab. That should work.
I think you really don't want those non-printable characters in most (or even all) cases.

One implementation possibility would be to offer a single method in the Input class to handle long text. It could take GET/POST/COOKIE as a parameter. Something like:
$app->input()->longtext(INPUT_POST, 'txtAccountProfile');
This could avoid bloating the other methods...

After some major refactoring in https://github.com/delight-im/PHP-Foundation-Core/commit/364562c07df1f862ac1017852ba49e03fb0c9051, the implementation of DATA_TYPE_TEXT (went with the shorter name) became quite simple in https://github.com/delight-im/PHP-Foundation-Core/commit/d783885f4317183a10b46491ba4dfcf3769bca3c, with the additional introduction of DATA_TYPE_RAW in https://github.com/delight-im/PHP-Foundation-Core/commit/4a7f633b4ecb6eff27467821ad43c14cfdd9e9d8.
After upgrading the core via
$ composer update delight-im/foundation-core

you should be able to use the two new constants
\Delight\Foundation\Input::DATA_TYPE_TEXT
// or
\Delight\Foundation\Input::DATA_TYPE_RAW

instead of
TYPE_STRING
// or
\Delight\Foundation\Input::DATA_TYPE_STRING

now. The two shorthands TYPE_TEXT and TYPE_RAW are not available yet but will be added if things work correctly.
So these two new flags should do exactly what was missing. Would love to hear if those work as intended!

Thank you so much!
Added the global shorthands as well now: https://github.com/delight-im/PHP-Foundation/commit/feb73d34ecde930bc44c8dc5d5172e1c86ab496e


Spike transform execution build operations

Spikes some transform execution build operations that could be consumed by the GE plugin. For simplicity, we re-use some build operations from tasks.

This has been done in https://github.com/gradle/gradle/pull/25637


"Downgrade" to .NET framework v4.6.1

📝 If you have references to dependencies that include .NET Standard builds, you may have trouble targeting .NET Framework 4.6.1. It's much safer to target .NET Framework 4.6 in this case.

Even when dependency is targets .NET Standard 2.0?

Especially when the dependency targets .NET Standard 2.0. See https://github.com/github/VisualStudio/issues/1849 (the issue affects Visual Studio, but may be similar to what we saw in Git Extensions).

But when I set <TargetFramework>net46</TargetFramework>, build throws:
error NU1202: Package Neptuo 6.0.0 is not compatible with net46 (.NETFramework,Version=v4.6). Package Neptuo 6.0.0 supports: netstandard2.0 (.NETStandard,Version=v2.0)

What am I missing?

Two more questions, please.

How can I get binaries if build fails? It's not a warning, it's an error which stops the build.
If I include netstandard.dll and other System.*.dll in PackageManger.exe (separate executable), will it work on Windows machine mentioned in GE comment above?


Fix wiki directory

With the recent change in the PR https://github.com/FreeCodeCamp/wiki/pull/1257
the wiki was moved to "deprecated wiki" directory.
:warning: Urgent
@camperbot in chat is broken now.
cc: @BerkeleyTrue @ltegman

The functionality was to be removed completely until/if a solution to use the articles from the forum is found.
If we leave it, people will he getting outdated information without knowing.

@Rafase282 at least they will get something. Now everyone is frustrated as why camperbot isn't working.
Anyway, any API for forum to make the camperbot fetch from forum?

Is this fix still something that is desired or after this long of it not working would we rather just wait for a solution that uses the forum?

Regardless of what we decide to do I'm merging this so that our tests on wiki functionality can pass until we decide how to move forward long term on this functionality. 👍


[SPARK-34424][SQL][TESTS] Fix failures of HiveOrcHadoopFsRelationSuite

What changes were proposed in this pull request?
Modify RandomDataGenerator.forType() to allow generation of dates/timestamps that are valid in both Julian and Proleptic Gregorian calendars. Currently, the function can produce a date (for example 1582-10-06) which is valid in the Proleptic Gregorian calendar. Though it cannot be saved to ORC files AS IS since ORC format (ORC libs in fact) assumes Julian calendar. So, Spark shifts 1582-10-06 to the next valid date 1582-10-15 while saving it to ORC files. And as a consequence of that, the test fails because it compares original date 1582-10-06 and the date 1582-10-15 loaded back from the ORC files.
In this PR, I propose to generate valid dates/timestamps in both calendars for ORC datasource till SPARK-34440 is resolved.
Why are the changes needed?
The changes fix failures of HiveOrcHadoopFsRelationSuite. For instance, the test "test all data types" fails with the seed<PHONE_NUMBER>76:
== Results ==
!== Correct Answer - 20 ==    == Spark Answer - 20 ==
 struct<index:int,col:date>   struct<index:int,col:date>
...
![9,1582-10-06]               [9,1582-10-15]

Does this PR introduce any user-facing change?
No
How was this patch tested?
By running the modified test suite:
$ build/sbt -Phive -Phive-thriftserver "test:testOnly *HiveOrcHadoopFsRelationSuite"

@dongjoon-hyun Could you take a look at this PR, please.

Test build #135126 has started for PR 31552 at commit 0222def.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/39707/

Thank you for pinging me, @MaxGekk !

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/39707/

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

Test build #135126 has finished for PR 31552 at commit 0222def.

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

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

@dongjoon-hyun Thank you for your quick response.

Actually, this seems to reduce an existing test coverage for all data sources ...

Yep, it does.  I should highlight that the "test all data types" test checks end-to-end scenario, and if there are any conversions  between calendars Julian <-> Gregorian, the test fails on some seeds. That's why we forcibly set the rebasing mode to CORRECTED for Avro and Parquet in the test, see https://github.com/apache/spark/blob/ba13b94f6b2b477a93c0849c1fc776ffd5f1a0e6/sql/hive/src/test/scala/org/apache/spark/sql/sources/HadoopFsRelationTest.scala#L157-L159
to avoid the dates that don't exist in one of the calendars.
At the same time, ORC is tested in the "LEGACY" mode in fact, where we perform datetime rebasing between calendars. So, if we would enable "LEGACY" for Avro or Parquet, they will fail as well.

Do you think we can narrow down to ORC only?

We can exclude some date ranges like 1582-10-05 .. 1582-10-15 + 29 Feb in some leap years. In that case, we can test Avro/Parquet in the "LEGACY" mode too (and remove the SQL config settings showed above).
For me, the case of ORC's date (and timestamps too) seems similar to Parquet's INT96 timestamps. The ORC spec says nothing about the calendar systems (https://orc.apache.org/specification/ORCv2/), and it just mentions the offset in days from the epoch:
"
Date data is encoded with a PRESENT stream, a DATA stream that records the number of days after January 1, 1970 in UTC
"
Since DATE just stores as number of days, the calendar system is not "hard coded" in the spec. I think we should support the "CORRECTED" mode (via a SQL config or/and a DS option) in the ORC datasource too as we did that recently for Parquet INT96 in https://github.com/apache/spark/pull/30056. @cloud-fan @bart-samwel WDYT?

For me, the case of ORC's date (and timestamps too) seems similar to Parquet's INT96 timestamps. The ORC spec says nothing about the calendar systems (https://orc.apache.org/specification/ORCv2/), and it just mentions the offset in days from the epoch:
" Date data is encoded with a PRESENT stream, a DATA stream that records the number of days after January 1, 1970 in UTC "
Since DATE just stores as number of days, the calendar system is not "hard coded" in the spec. I think we should support the "CORRECTED" mode (via a SQL config or/and a DS option) in the ORC datasource too as we did that recently for Parquet INT96 in #30056. @cloud-fan @bart-samwel WDYT?

That makes sense. At least then we can store the data that gets generated internally and read it back. It would take some work for backward compatibility just like for Parquet -- e.g. we'd have to add metadata to the ORC files, and if that's not present, we'd need to detect which system wrote the file and base the read rebasing decision on that.
FWIW, I think the data generator limitations should be explicitly tweaked for the tests to match the expectations of the test. I.e., if we expect the test won't handle some kind of date correctly, then and only then do we turn those off.

Test build #135155 has started for PR 31552 at commit 2b24fc4.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/39736/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/39736/

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

Test build #135155 has finished for PR 31552 at commit 2b24fc4.

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

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

I agree with @dongjoon-hyun and @bart-samwel points. Thanks for addressing it @MaxGekk.

Merged to master.
@MaxGekk can we port this back to branch-3.1 and branch-3.0?

Here is the backport to branch-3.1 and branch-3.0: https://github.com/apache/spark/pull/31589


Try codecov.io

Codecov Report

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

@@          Coverage Diff           @@
##           master     #23   +/-   ##
======================================
  Coverage    58.4%   58.4%
======================================
  Files           4       4
  Lines         113     113
======================================
  Hits           66      66
  Misses         45      45
  Partials        2       2

Continue to review full report at Codecov.

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


TABL - "Delete and recreate local object" will lead to data loss

When pulling a transparent TABL, abapGit determined to "Delete and recreate local object", which will lead to data loss. The table exists locally and remotely.
As usual, the status information is wrong, there is not enough information in abapGit to determine if "added locally or deleted remotely"
we need to remove/revamp the status functionality so its correct in all cases
the possible cases are:
a. exists locally only
b. exists remotely only
c. exits in both, differences
d. exists in both, identical
might also be in connection with a package move

Options:

enhance checksums to work by branch/tag/remote
remove checksum feature completely (it's not needed for the listed cases)

Without checksums, we won't be able to tell which side was changed. So "add" or "delete" status won't be possible, which has implications to pull and stage dialogs. Also "diff" colors (green vs red) are not clearly defined.
However, I don't see how checksums are related to the "TABL re-create" problem. If abapGit actually showed "Delete and recreate local object" then it's a UI issue to present this more clearly as a warning that might require extra confirmation.

when manually moving local object to the right package, the status changes to "Overwrite local object" instead of "Delete and recreate local object"


Prototype implementation to bring preprocessor directives into parse tree

Prototype implementation to bring preprocessor directives into parse tree
This approach doesn't require polluting the grammar. The preproc identifiers are pushed into a separate channel and are handled in visitTerminal where all tokens include the ones in the special channel can be traversed.
NOTE: This is for prototype purpose only and not intended to be merged.

Yes, that is acceptable, make it short:
VObjectType::sl
should become
VObjectType::pp
and
VObjectType::pa


Functions passed as an argument to other functions are not type checked as expected

I expected the following code to produce an error as function a could pass an argument that is not a string to function b.
Code:
declare function a(f: (v: Object) => string): void
declare function b(f: string): string
a(b)

Expected Result:
error TS2345: Argument of type '(f: string) => string' is not assignable to parameter of type '(v: Object) => string'.
  Types of parameters 'f' and 'v' are incompatible.
    Type 'Object' is not assignable to type 'string'.

Actual Result:
No error

See e.e.g #6102


Pretrained model on youtube vos dataset

Thanks for your great work. Could you share the pretrained model for configuration 'masktrack_rcnn_r50_fpn_1x_youtubevos_objprop'?

Hi,
I have made the pre-trained weight available at the following link. I have also updated README with the Google Drive link.

Hi,
Thanks for your reply. I really appreciate!


Reproduction for #2264 - println from a Scala 3 macro issue

Reproduction for issue https://github.com/com-lihaoyi/mill/issues/2264

You can reproduce with .local and .server, but not with fork, which is starting a new Mill process for each invocation.
Run with:
$ mill integration.feature[macro-println-issue-2264].local
...
[1248/1248] integration.feature[macro-println-issue-2264].local.test
-------------------------------- Running Tests --------------------------------
First run
[info] compiling 1 Scala source to /home/lefou/work/opensource/mill/out/integration/feature/macro-println-issue-2264/local/workspaceDir.dest/out/mill-build/compile.dest/classes ...
[info] done compiling
[info] compiling 2 Scala sources to /home/lefou/work/opensource/mill/out/integration/feature/macro-println-issue-2264/local/workspaceDir.dest/out/sandbox/compile.dest/classes ...
================== The Short Version ================
{
  val x: scala.Int = 1
  val y: scala.Int = 2
  val z: scala.Int = x.+(y)
  scala.Predef.println(_root_.scala.StringContext.apply("x + y = ", "").s(z))
}
================== The Long Version ================
Block(List(ValDef("x", Inferred(), Some(Literal(IntConstant(1)))), ValDef("y", Inferred(), Some(Literal(IntConstant(2)))), ValDef("z", Inferred(), Some(Apply(Select(Ident("x"), "+"), List(Ident("y")))))), Apply(Ident("println"), List(Apply(Select(Apply(Select(Select(Select(Ident("_root_"), "scala"), "StringContext"), "apply"), List(Typed(Repeated(List(Literal(StringConstant("x + y = ")), Literal(StringConstant(""))), Inferred()), Inferred()))), "s"), List(Typed(Repeated(List(Ident("z")), Inferred()), Inferred()))))))
================== The Short Version ================
scala.Predef.println("Hello, world!!!")
================== The Long Version ================
Apply(Ident("println"), List(Literal(StringConstant("Hello, world!!!"))))
[info] done compiling
x + y = 3
Hello, world!!!
Clean compilation
Second run
[info] compiling 2 Scala sources to /home/lefou/work/opensource/mill/out/integration/feature/macro-println-issue-2264/local/workspaceDir.dest/out/sandbox/compile.dest/classes ...
[info] done compiling
x + y = 3
Hello, world!!!
+ mill.integration.ImportRepoTests.test 22713ms

Shouldn't we keep it as integration test?


Add netboot.xyz into quick boot options

Fixes #46.
Compiling pixiecore was a little tricky. I had to cd into cmd/pixiecore subdir and invoke go install from there.

That's ok. My review queue is also too long. ) 🎄


There is an inconsistency between local and CI build

It has been mentioned in Notice in gitbook

It has been fixed in 0.1.9


metam: extend sections on (de)constructing Exprs

I've rewritten some of the mkAppM and mkAppOptM stuff. Should be clearer now. I wasn't very happy with the mkAppOptM exposition myself, so thanks for pushing me on this. ;)


no file WXImgLoaderProtocol.h

WXImgLoaderProtocol.h isn't part of any pots nor can I find it anywhere else.

WXImgLoaderProtocol isn't a part of WXDevtool, WXImgLoaderProtocol.h is a protocal in WeexSDK, you should implement the protocol in your demo project

So your demo code doesn't run out of the box and I have to implement some classes first just to try out the example code and see if it does what it is supposed to do?


The samples work great in Office 2019 and up, but what about Office 2016

Question
I've been using the different add-in samples found here and they work great on Office 2019 and up.  So I created an add-in that I would like to distribute to others via the AppSource store.  BUT, the AppSource store requires it to work with Office 2016 and it will not because what I believe an internet explorer 11 default in Office 2016 so the javascript will not run.
Any suggestions?

Hi @phusting,
AppSource should only warn you if your add-in doesn't support IE11. Your submission shouldn't be blocked (source information here: https://learn.microsoft.com/en-us/office/dev/add-ins/concepts/browsers-used-by-office-web-add-ins).
Was your AppSource submission blocked?

They just approved it but the comments make it sound like they can remove it because of that issue.  Probably not a big thing since IE11 was discontinued.  Is there any workaround for getting Office 2016 IE working with this framework?

There is guidance for supporting IE11 in the article Support older Microsoft browsers and Office versions. Basically, if your add-in relies on newer functionality (which it likely does), the guidance is to detect the user is on IE11 and gracefully fail. This is done with a polite message to the user explaining your support story.

Also, I'm going to close this issue, since there isn't an active fix required. I'm happy to keep chatting in the comments, as you need.

I will probably take you up on it.  I need to try and debug this IE11 and see what is causing it issues.  I really appreciate your help.


poll https://builder.vigour.io

when receiving something request poll the builder

prob skip the builder


Suddenly "Bad Request" Error

My output on arch
➜  Downloads i3-agenda -c ~/Dropbox/else/WEB/.google_credentials.json -ttl 60
Traceback (most recent call last):
  File "/usr/bin/i3-agenda", line 33, in <module>
    sys.exit(load_entry_point('i3-agenda==1.5', 'console_scripts', 'i3-agenda')())
  File "/usr/lib/python3.9/site-packages/i3_agenda/__init__.py", line 132, in main
    service = connect(args.credentials)
  File "/usr/lib/python3.9/site-packages/i3_agenda/__init__.py", line 348, in connect
    creds.refresh(Request())
  File "/usr/lib/python3.9/site-packages/google/oauth2/credentials.py", line 208, in refresh
    access_token, refresh_token, expiry, grant_response = _client.refresh_grant(
  File "/usr/lib/python3.9/site-packages/google/oauth2/_client.py", line 248, in refresh_grant
    response_data = _token_endpoint_request(request, token_uri, body)
  File "/usr/lib/python3.9/site-packages/google/oauth2/_client.py", line 124, in _token_endpoint_request
    _handle_error_response(response_body)
  File "/usr/lib/python3.9/site-packages/google/oauth2/_client.py", line 60, in _handle_error_response
    raise exceptions.RefreshError(error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Bad Request', '{\n  "error": "invalid_grant",\n  "error_description": "Bad Request"\n}')

Not sure what happened... Thank you!

try to delete your i3agenda_google_token.pickle file
You should be able to find it in ~/.i3agenda/i3agenda_google_token.pickle

Yeah it worked!
(Although at first the text and background were white and red and left and right clicking didn't get rid of that, it was normal again after I restarted it with the -u flag.)

Great


[Task]: Recently created datasources

Is there an existing issue for this?

[X] I have searched the existing issues

SubTasks

[ ] Create an API which returns the last 3 created datasources

Associated issues:
https://github.com/appsmithorg/appsmith/issues/12532
https://github.com/appsmithorg/appsmith/issues/11031

Stats

Stat
Values

Reach
1000

Effort (months)
0.5


Post pictures in private messages

Presumably this needs to be only after opting in, to avoid unsolicited phallus imagery.


[Windows] Fix windows breakage caused by lit.cfg change

Caused by a change in: https://github.com/apple/swift/pull/32903

@swift-ci test

@swift-ci test

Build failed
Swift Test Linux Platform
Git Sha - 870e80d2d40abba242b6d0651bb833f1b0308b6c

Build failed
Swift Test OS X Platform
Git Sha - 870e80d2d40abba242b6d0651bb833f1b0308b6c

@swift-ci Please test Windows platform

@swift-ci please test Windows platform

@swift-ci Please test OS X platform

Looks like the original issue was slightly different, it is referring to an "Unrecognized escape code" inside the json map, not referring to incorrect path separators.

@swift-ci test

Build failed
Swift Test OS X Platform
Git Sha - e42b8f780736ce60953ae7d59b719e31b41d5026

Build failed
Swift Test Linux Platform
Git Sha - e42b8f780736ce60953ae7d59b719e31b41d5026

@swift-ci please test Windows platform

I believe that there are two categories of failures, some related to the runtime and others related to the path encoding.

I believe that there are two categories of failures, some related to the stdlib and others related to the path encoding.

I believe the path encoding failure is caused by the fact that on Linux and macOS, having a comma after the last element of a JSON list is somehow considered to be a valid termination sequence, but on Windows it is not.

Commas after the last element in a list are not valid json: https://www.json.org/json-en.html

Actually it seems that having any line ending with a comma is not valid on Windows? Not necessarily even after the last element in a list...

More likely its line endings ... Windows uses \r\n rather than \n.

%ononesupport_module ... that is going to have \ in it which is an escape character.   The string you are encoding is the cause of the issue.

It is created as:
ononesupport_module = os.path.join(stdlib_dir, "SwiftOnoneSupport.swiftmodule")
and the corresponding line in the lit test that uses the substitution ends with ":
// RUN: echo "\"modulePath\": \"%ononesupport_module\"" >> %/t/inputs/map.json
Are you referring to the \ used to escape the "?
The error seems to be pointing directly at:
T:\swift\test-windows-x86_64\ScanDependencies\Output\explicit-module-map-forwarding-module.swift.tmp/inputs/map.json:10:2: error: Unrecognized escape code

},

 ^

Which is separating second and third list elements in the generated JSON list...

The path that is generated from os.path.join there will contain \ which JSON will interpret as an escape sequence even in the quoted string.

I'm confused. Here's the most recent failure log: https://ci-external.swift.org/job/swift-PR-windows/5448/consoleText
The resulting path generated by os.path.join is seen in the log in:
$ ":" "RUN: at line 29"
$ "echo" ""modulePath": "t:\swift\lib\swift\windows\x86_64\SwiftOnoneSupport.swiftmodule""

Ah I see it now in:
: 'RUN: at line 29';   echo "\"modulePath\": \"t:\swift\lib\swift\windows\x86_64\SwiftOnoneSupport.swiftmodule\"" >> T:/swift/test-windows-x86_64/ScanDependencies/Output/explicit-module-map-forwarding-module.swift.tmp/inputs/map.json

I have a fix, I'll upload it in a second.

#33066 should take care of it

@swift-ci test

Build failed
Swift Test Linux Platform
Git Sha - b1c97a1eddb2ff90b14a91044f4196c1479dc836

Build failed
Swift Test OS X Platform
Git Sha - b1c97a1eddb2ff90b14a91044f4196c1479dc836

@swift-ci please test Windows platform


Possibility to use for API

Thanks for this great plugin! I'd like to have an option for an API to just delay the request till the container has been started. Now it will respond with HTML which is not nice for an JSON api. Is this something that is remotely implementable? I'd like to hear!

Yes see https://github.com/acouvreur/traefik-ondemand-plugin/pull/12 with blocking strategy.
You can checkout the branch to try it out

Ah great thanks! Do you maybe have some directions on how to use a branch in the Traefik configuration? Or is it only possible via localPlugins? Thanks!