Allow passing in memoize functions directly to createSelector.

This PR:

[x] Solves #608 by allowing us to pass in the memoizer function directly to createSelector.
[x] No breaking changes.
[x] New createSelectorCreator signature overload.
[x] Adds memoize, memoizeOptions, argsMemoize and argsMemoizeOptions to createSelector.

Runtime changes

Add createSelectorCreator function overload that allows passing in an options object to allow for more customization. The memoize property is mandatory, the rest are optional.
Add memoize and argsMemoize to output selector fields.
Allow passing memoize, argsMemoize and argsMemoizeOptions to options argument inside createSelector. This solves the issue of having to call createSelectorCreator anytime we want to use an alternate memoize function.
So now instead of doing this:

const createSelectorWeakMap = createSelectorCreator(weakMapMemoize)

const selectTodoIds = createSelectorWeakMap(
  [(state: State) => state.todos],
  todos => todos.map(todo => todo.id)
)

We can do this:

const selectTodoIds = createSelector(
  [(state: State) => state.todos],
  todos => todos.map(todo => todo.id),
  { memoize: weakMapMemoize }
)

Why add memoize and argsMemoize to output selector fields?
It's simple, it allows us to swap out memoize functions, compose selectors from other selectors easier and it helps with debugging:
export const findFastestSelector = <S extends OutputSelector>(
  selector: S,
  ...selectorArgs: Parameters<S>
) => {
  const memoizeFuncs = [defaultMemoize, weakMapMemoize, autotrackMemoize]
  const results = memoizeFuncs.map(memoizeFunc => {
    const alternateSelector = createSelector(
      selector.dependencies as [...SelectorArray],
      selector.resultFunc,
      { memoize: memoizeFunc }
    )
    const start = performance.now()
    // @ts-ignore
    alternateSelector(...selectorArgs)
    const time = performance.now() - start
    return { name: memoizeFunc.name, time, selector: alternateSelector }
  })
  const fastest = results.reduce((minResult, currentResult) =>
    currentResult.time < minResult.time ? currentResult : minResult
  )
  const ratios = results
    .filter(({ time }) => time !== fastest.time)
    .map(
      ({ time, name }) =>
        `\x1b[33m \x1b[1m${
          time / fastest.time
        }\x1b[0m times faster than \x1b[34m${name}`
    )
  if (fastest.selector.memoize.name !== selector.memoize.name) {
    console.warn(
      `The memoization method for \x1B[1;41m${
        selector.name
      }\x1B[0m is \x1B[31m${
        selector.memoize.name
      }\x1B[0m!\nChange it to \x1b[32m\x1b[1m${
        fastest.selector.memoize.name
      }\x1b[0m to be more efficient.\nYou should use \x1b[32m\x1b[1m${
        fastest.name
      }\x1b[0m because it is${ratios.join('\nand\n')}`
    )
  }
  return { results, fastest } as const
}

So now we can find out which memoize function would be fastest:
const selectorAutotrack = createSelector(
  [(state: State, id: number) => id, (state: State) => state.todos],
  (id, todos) => todos.filter(todo => todo.id === id),
  { memoize: autotrackMemoize }
)
Object.defineProperty(selectorAutotrack, 'name', {
  value: 'selectorAutotrack'
})
// @ts-ignore
findFastestSelector(selectorAutotrack, state, 1)

We get the following message in the console:
The memoization method for selectorAutotrack is autotrackMemoize!
Change it to defaultMemoize to be more efficient.
You should use defaultMemoize because it is 1.4709747668511033 times
faster than weakMapMemoize and 9.652792674178125 times faster than autotrackMemoize

Or we can also do this:
export function createSelectorCreatorCurried(
  ...args: Parameters<typeof createSelectorCreator>
) {
  const createSelector = createSelectorCreator(...args)
  return (...args: Parameters<ReturnType<typeof createSelectorCreator>>) => {
    const selector = createSelector(...args)
    const curriedSelector = selector.argsMemoize((...params) =>
      selector.argsMemoize((state: unknown) => selector(state, ...params))
    )
    Object.assign(curriedSelector, selector)
    return curriedSelector
  }
}

const createCurriedSelector = createSelectorCreatorCurried(defaultMemoize)
const curriedSelector = createCurriedSelector(
  [(state: State, id: number) => id, (state: State) => state.todos],
  (id, todos) => todos.filter(todo => todo.id === id)
)
curriedSelector(1)(state) // Returns [ { id: 1, completed: false } ]

Types
New types added

Add UnknownMemoizer type alias

UnknownMemoizer is exactly what it sounds like. It's a function that takes another function as its first argument and returns it. It can also take an options rest parameter.

Add Combiner type alias

This was mostly because the pattern of (...args: SelectorResultArray<Selectors>) => Result is seen too often in the codebase, so it made sense to shorten it by aliasing its type.

Add OmitIndexSignature utility type

This is mainly used to remove explicit anys from the return type of some memoizers. e.g: microMemoize

Add IfNever utility type

It helps conditionally resolve the type of memoizeOptions based on whether memoize is provided or not. Same applies to argsMemoize and argsMemoizeOptions.

Add ExtractMemoizerFields helper type

A simple type alias that helps extract the extra properties that are attached to the return value of a memoizer. e.g.: clearCache

Add MemoizeOptionsFromParameters helper type

A simple type alias that helps extract the type of memoizeOptions from the parameters of memoize. Same applies to argsMemoize and argsMemoizeOptions.

Add OverrideMemoizeOptions helper type

It helps derive the type of memoizeOptions based on whether memoize itself was overridden inside the options argument of createSelector. Same applies to argsMemoize and argsMemoizeOptions.

Add FallbackIfNever utility type

It is used to help us detect whether a memoize function has been overridden inside the options argument of createSelector. If no memoize is passed in, it will fallback to whatever memoize was originally passed into createSelectorCreator. Same applies to argsMemoize but since argsMemoize is optional inside createSelectorCreator, it will ultimately fallback to defaultMemoize.

Types changed

Rewrite CreateSelectorFunction

This might be the biggest type change so far, yet it still pretty much functions like before. It does not break anything which means it is backwards-compatible. Here is all that has changed:

It used to take 4 generic type parameters, now it takes 2. One of which was added due to the new createSelectorCreator signature overload.
First generic parameter is MemoizeFunction which is almost the same as the old MemoizeFunction. The only difference is it now extends UnknownMemoizer and the type of the function it memoizes can be inferred.
Second generic parameter is ArgsMemoizeFunction which has been added due to the new options argument in createSelector and the new function overload for createSelectorCreator. It is the type of argsMemoize which has a default of typeof defaultMemoize.
The input selectors parameter and the combiner parameter are still pretty much the same as before. Within the signature overloads provided by CreateSelectorFunction, the 2 parts that have changed are the options parameter and the return type specifically the output selector fields that are attached to the memoized selector e.g.: clearCache
The options parameter can now take memoize, argsMemoize and argsMemoizeOptions in addition to the previously provided inputStabilityCheck and memoizeOptions.
If we pass in a value for memoize, the type of memoizeOptions will dynamically change to the type of the second parameter of memoize. If memoize is not provided, the type of memoizeOptions falls back to the second parameter of whatever memoize was initially passed in to createSelectorCreator whether it was passed in as an object with the new signature overload or traditionally as a plain function.

Here is an example:
const createSelectorWeakMap = createSelectorCreator(weakMapMemoize)
// This would result in a TS error.
const selector1 = createSelectorWeakMap(
  [(state: State) => state.todos],
  todos => todos.map(todo => todo.id),
  { memoizeOptions: { maxSize: 2 } } // This causes the TS error.
)
// This on the other hand is fine.
const selector2 = createSelectorWeakMap(
  [(state: State) => state.todos],
  todos => todos.map(todo => todo.id),
  { memoize: defaultMemoize, memoizeOptions: { maxSize: 2 } } // When `memoize` is changed to `defaultMemoize`, `memoizeOptions` can now be the same type as the options args in `defaultMemoize`.
)

The same relationship dynamic applies to argsMemoize and argsMemoizeOptions. The only difference is since argsMemoize is optional when passing in an object to createSelectorCreator, the type of argsMemoize defaults to typeof defaultMemoize and the type of argsMemoizeOptions is derived from the second parameter of defaultMemoize.

// This is fine
const createSelector1 = createSelectorCreator({
  memoize: defaultMemoize,
  argsMemoizeOptions: { maxSize: 2 }
})
// This would result in a TS error.
const createSelector2 = createSelectorCreator({
  memoize: defaultMemoize,
  argsMemoize: weakMapMemoize,
  argsMemoizeOptions: { maxSize: 2 } // This causes the TS error.
})

Same rules apply inside the options argument of createSelector:

// This would result in a TS error.
const selector1 = createSelector(
  [(state: State) => state.todos],
  todos => todos.map(todo => todo.id),
  {
    memoize: weakMapMemoize,
    memoizeOptions: { maxSize: 2 } // This causes the TS error.
  }
)
// This on the other hand is fine.
const selector2 = createSelector(
  [(state: State) => state.todos],
  todos => todos.map(todo => todo.id),
  { memoize: defaultMemoize, memoizeOptions: { maxSize: 2 } } // When `memoize` is set to `defaultMemoize`, `memoizeOptions` can now be the same type as the options args in `defaultMemoize`.
)
// This would result in a TS error.
const selector3 = createSelector(
  [(state: State) => state.todos],
  todos => todos.map(todo => todo.id),
  {
    argsMemoize: weakMapMemoize,
    argsMemoizeOptions: { maxSize: 2 } // This causes the TS error.
  }
)
// This on the other hand is fine.
const selector4 = createSelector(
  [(state: State) => state.todos],
  todos => todos.map(todo => todo.id),
  { argsMemoize: defaultMemoize, argsMemoizeOptions: { maxSize: 2 } } // When `argsMemoize` is set to `defaultMemoize`, `argsMemoizeOptions` can now be the same type as the options args in `defaultMemoize`.
)

createSelectorCreator type changes

New createSelectorCreator overload signature

createSelectorCreator can now accept an options object as its argument.
Here is what the new signature overload looks like:

export function createSelectorCreator<
  MemoizeFunction extends UnknownMemoizer,
  ArgsMemoizeFunction extends UnknownMemoizer = typeof defaultMemoize
>(options: {
  /** Overrides the global input stability check for the selector. */
  inputStabilityCheck?: StabilityCheck
  /** A function that accepts another function and returns it. This function is used to memoize `resultFunc`. */
  memoize: MemoizeFunction
  /** The memoizer function used to memoize the arguments of the selector. */
  argsMemoize?: FallbackIfNever<ArgsMemoizeFunction, typeof defaultMemoize>
  /** Options object passed to `memoize` as the second argument. */
  memoizeOptions?: MemoizeOptionsFromParameters<MemoizeFunction>
  /** Options object passed to `argsMemoize` as the second argument. */
  argsMemoizeOptions?: OverrideMemoizeOptions<
    typeof defaultMemoize,
    ArgsMemoizeFunction
  >
}): CreateSelectorFunction<MemoizeFunction, ArgsMemoizeFunction>

Rewrite old createSelectorCreator function signature

The initial createSelectorCreator function signature works just like before except now it only takes one generic parameter of MemoizeFunction which is the type of the memoize function passed in. The type of the memoizeOptionsFromArgs rest parameter is derived from MemoizeFunction.
Here is what it looks like now:

export function createSelectorCreator<MemoizeFunction extends UnknownMemoizer>(
  memoize: MemoizeFunction,
  ...memoizeOptionsFromArgs: DropFirstParameter<MemoizeFunction>
): CreateSelectorFunction<MemoizeFunction, typeof defaultMemoize>

Change DropFirst to DropFirstParameter

Since this type originally was a duplicate of Tail, it made sense to change it from a type that drops the first item in an array to a type that drops the first parameter of a function.

Rewrite OutputSelectorFields

It now has 2 additional properties memoize and argsMemoize. Instead of taking a Combiner and a Keys generic type parameter, it now takes 4 generic parameters:

Selectors: the input selectors. This enables us to get a strongly typed dependencies property as well.
Result: the return value of resultFunc.
MemoizeFunction: type of memoize. It is used to infer the correct type for memoizedResultFunc and the new memoize output selector field.
ArgsMemoizeFunction: the memoize function used for the new argsMemoize output selector field.

Rewrite OutputSelector

It now takes the exact same generic type parameters as OutputSelectorFields which in turn simplifies the return type of CreateSelectorFunction and should make it easier to maintain.

Rewrite OutputParametricSelector

Remove the Combiner and Keys generic type parameters as they are no longer needed. This is one of those types that I don't think is insanely popular or useful, so technically we could just remove it without it becoming too much of a problem. But I still rewrote it to match the new type definitions just in case.

Rename UnknownFunction to AnyFunction

Rename UnknownFunction which used to be of type (...args: any[]) => any to AnyFunction. This was mostly due to the implied correlation between the word Any and parameters of type any[]. To avoid potential further confusion, I also added UnknownFunction which is an alias for (...args: unknown[]) => unknown. This can be helpful for situations where you want to avoid using any.

Other minor type related tweaks

Remove union with never in the Params generic type parameter of Selector since a union of any[] and never is just any[].
Simplify Selector by localizing the conditional to Params.
Add more explicit type assertions inside createSelectorCreator function body to increase readability.

Explicit type imports/exports

Separate type imports/exports from plain js imports/exports by using the import type/export type syntax.

Deduplicate types

A duplicate of EqualityFn was defined inside autotracking.ts which has now been removed and replaced by an import of EqualityFn from types.ts.
A duplicate of AnyFunction originally defined as UnknownFunction was defined inside ts47-mergeParameters.ts which after build would emit UnknownFunction$1. It has now been removed and replaced by AnyFunction imported from types.ts.

Import and reuse AnyFunction wherever possible

Import and reuse AnyFunction anywhere in the code where there is (...args: any[]) => any

Miscellaneous changes

Add JSDocs to createSelectorCreator
Remove "indent" rule from .eslintrc as it conflicts with prettier
Add "@internal/" path to tsconfig for type tests

File structure changes / relocation

Move StabilityCheck and CreateSelectorOptions into types.ts.
Move createSelectorCreator into its own file.
Move createStructuredSelector into its own file.
Change index.ts to be a barrel file exporting everything.

Add utils.ts to src folder
It contains the following:

assertIsFunction: Contains a small part of code inside createSelectorCreator extracted to make the function body smaller and easier to read, and to add a small layer of type safety and reusability at the same time. Since we were doing a runtime check for a type of something and throwing an error on upon failure, the pattern looked very much like an assertion function which can help us kill 2 birds with one stone.
ensureIsArray: Another small part of code inside createSelectorCreator. But since it is a pattern that we repeat, it does not hurt to turn it into a function that we can reuse.
getDependencies: Same function from before, the only difference is now upon failure, in order to be more explicit, it throws a TypeError instead of an Error.
collectInputSelectorResults: Another piece of logic extracted from the body of createSelectorCreator. It only focuses on creating an array from the return values of input selectors.
runStabilityCheck: The extracted logic of running stability checks inside createSelectorCreator made into its own standalone function.

Just to make sure everything is now working as expected, I tested both the types and runtime behavior in my personal projects using yalc. I also wrote units tests and type tests for everything new that was added or changed so merging should not be a problem. Hope this helps, I would love to contribute more so please let me know if anything else is needed.
Currently working on:

[x] Removing variadic function signature CreateSelectorFunction which will introduce a breaking change.
[x] Code mod to convert variadic args to array args. The existing code mod does not detect the options argument.
[x] Creating TypedCreateSelectorFunction, the current implementation only works with array args.
[x] Writing more unit tests.
[x] Writing more type tests.
[x] Writing some benchmarks using vitest.

Thanks, I'll try to look at this over the weekend!

fyi this is still on my list to review, but was at a conf last week and am also trying to sort out a couple other outstanding RTK PRs before I switch over to look at this.

fyi this is still on my list to review, but was at a conf last week and am also trying to sort out a couple other outstanding RTK PRs before I switch over to look at this.

Not a problem at all, I know you're busy. I'm just trying to make everything easier for you to review so hopefully you can merge without any issues. Is there anything specific you would want me to do before you get a chance to review it? I'd be happy to help.

Nothing I can think of immediately, other than "fix the TS types so they compile" :)

Nothing I can think of immediately, other than "fix the TS types so they compile" :)

Oh shoot. My apologies, I will fix that right away.

I've updated master to run the RTK CI example app tests against the latest RTK betas on rtk/v2.0-integration, and dropped support for TS <4.7.  Rebased this PR against master to pick those up.
Now trying to actually get a sense of what all's changed in this PR :)

Initial thoughts:

I like refactoring the codebase to move all the definitions out of index.ts, and leaving that as just the package exports
The JS logic seems reasonable
I really appreciate all the added JSDoc comments on all the types!
I haven't fully grokked or followed through on all the TS types changes, but things seem to make sense overall
I love the additional type, unit, and perf tests!  Even without reading them carefully, that gives me a lot of confidence that your changes are working as intended.

In fact, I think I've really only got two bits of feedback:
First, per review comment, the process.env.NODE_ENV check needs to be at the parent function level to make sure this code gets eliminated during the prod build step
The other one's trickier, and has to do with user DX for TS/VS Code hover previews.
As an example: if you look at typescript_test/test.ts around line 1268, we've got this call:
  const selector = createSelector(
    (state: { foo: string }) => 1,
    (state: { bar: string }) => 2,
    (...args) => 0
  )

Currently, the TS hover preview looks like this:

It's a bit annoying (especially with the double {clearCache()} in there), but it shows you it's a function that takes an object as an argument.
With this PR, the preview is:

which is a lot more verbose and doesn't even look like a function at all.
Ideally, I'd want to see something akin to (made up):
const selector: (state: {foo: string, bar: string}) => number
  & {clearCache: () => void, recomputations: () => void, .......}

In other words, a more human-readable representation that "this is a function with these args, and also has these fields attached".
I have some long-left-over TS util types in types.ts that are supposed to convince TS to expand types: Expand<T>, ExpandRecursive<T>, ComputeDeep<T>, and Mapped<T>.    I was able to get the "it's just a function" part working, but that lost all knowledge of the attached selector fields.
I'm fine with merging this PR basically as-is (and I'll try to push the process.env.NODE_ENV changes myself shortly), but could you also take a stab at trying to get a more readable preview for selectors?

Okay, this looks amazing!  Thank you!
I'm going to go ahead and merge this, then do a couple other bits of cleanup and put out 5.0.0-beta.0.
Let's do any hover preview changes and docs work in follow-up PRs.

Thanks for all the feedback. I'm glad you mentioned the issue with the hover preview, because for the past couple of days, I've been looking for a way to simplify that as well. I will go ahead and submit PRs for some more JSDocs I was adding and the hover preview issue.

Yep! Also FYI, we're now in a bizarre cyclical dep issue because I renamed autotrackMemoize to unstable_autotrackMemoize and published that as Reselect 5.0.0-beta.0, but RTK beta tries to re-export autotrackMemoize, and so the CI examples are now failing since that export doesn't exist :)
I'm going to publish a new RTK beta shortly with fixes for this.

I figured out how to solve the hover preview issue, but while doing so, I also (coincidentally) resolved the infinite type instantiation  issue. The problem is it looks like resolving the hover preview issue, causes the inifnite type instantiation problem (to some extent). So I'm going to figure out if there is a reasonable middleground to reach. Also fixed some type issues related to createStructuredSelector.

I tried really hard to get VSCode to show as much info as possible in the hover preview without sacrificing too much TS performance / type safety. Do you think this suffices? I'm gonna have another go at it in the next few days either way, I just wanted to get your feedback on it if possible.

@aryaemami59 that's certainly a step in the right direction!
It'd be nice if we could get OutputSelectorFields simpler in some way, but that at least has the most critical info visible.

@aryaemami59 that's certainly a step in the right direction!
It'd be nice if we could get OutputSelectorFields simpler in some way, but that at least has the most critical info visible.

I will try again some more tomorrow, but I did have one question, is there a reason why we have an overload for createStructuredSelector?

No idea, actually!

No idea, actually!

Yeah me neither, it doesn't make any sense. I'll see if I can get rid of it since the function itself has only one single behavior.


Invalid argument: Cannot parse tensor from proto:  dtype: DT_FLOAT

@lukaszkaiser I am facing the same problem. I have same specification as the previous one. My code is
Final_dataset.csv contains 456 X 147457
`train = pd.read_csv('Final_dataset.csv')
 x = tf.placeholder(tf.float32, shape=[None, 128*128*3])
 y_ = tf.placeholder(tf.float32, shape=[None, 128*256*3])
 W = tf.Variable(tf.zeros([128*128*3,128*256*3]))
 b = tf.Variable(tf.zeros([128*256*3]))`

Whenever I run below command
sess.run(tf.global_variables_initializer())
I am getting this error
`W tensorflow/core/framework/op_kernel.cc:965] Invalid argument: Cannot parse tensor from proto:    dtype: DT_FLOAT
  tensor_shape {
      dim {
         size: 49152
      }
      dim {
         size: 98304
      }
  }
  float_val: 0

  E tensorflow/core/common_runtime/executor.cc:390] Executor failed to create kernel. Invalid argument: Cannot parse tensor from proto: dtype: DT_FLOAT
  tensor_shape {
     dim {
        size: 49152
     }
    dim {
        size: 98304
    }
 }
float_val: 0

 [[Node: zeros_2 = Const[dtype=DT_FLOAT, value=<Invalid TensorProto: dtype: DT_FLOAT tensor_shape { dim { size: 49152 } dim { size: 98304 } } float_val: 0>, _device="/job:localhost/replica:0/task:0/cpu:0"]()]]
   Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/home/lokesh/.local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 766, in run
run_metadata_ptr)
     File "/home/lokesh/.local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 964, in _run
feed_dict_string, options, run_metadata)
    File "/home/lokesh/.local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1014, in _do_run
target_list, options, run_metadata)
   File "/home/lokesh/.local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1034, in _do_call
raise type(e)(node_def, op, message)
 tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot parse tensor from proto: dtype: DT_FLOAT
 tensor_shape {
   dim {
      size: 49152
    }
    dim {
        size: 98304
    }
 }
  float_val: 0

 [[Node: zeros_2 = Const[dtype=DT_FLOAT, value=<Invalid TensorProto: dtype: DT_FLOAT tensor_shape { dim { size: 49152 } dim { size: 98304 } } float_val: 0>, _device="/job:localhost/replica:0/task:0/cpu:0"]()]]

Caused by op u'zeros_2', defined at:
File "<stdin>", line 1, in <module>
File "/home/lokesh/.local/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 1437, in zeros
output = constant(zero, shape=shape, dtype=dtype, name=name)
 File "/home/lokesh/.local/lib/python2.7/site-packages/tensorflow/python/framework/constant_op.py", line 169, in constant
attrs={"value": tensor_value, "dtype": dtype_value}, name=name).outputs[0]
 File "/home/lokesh/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2240, in create_op
original_op=self._default_original_op, op_def=op_def)
 File "/home/lokesh/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1128, in __init__
self._traceback = _extract_stack()

InvalidArgumentError (see above for traceback): Cannot parse tensor from proto: dtype: DT_FLOAT
tensor_shape {
 dim {
    size: 49152
 }
 dim {
   size: 98304
 }
 }
 float_val: 0

 [[Node: zeros_2 = Const[dtype=DT_FLOAT, value=<Invalid TensorProto: dtype: DT_FLOAT tensor_shape { dim { size: 49152 } dim { size: 98304 } } float_val: 0>, _device="/job:localhost/replica:0/task:0/cpu:0"]()]]

`

Without the dataset (or, preferably, a smaller one for testing) it is not possible to reproduce your problem. Please prepare a smaller dataset and a minimal python code that causes the problem, then attach the small CSV file and the python file so that we can reproduce the problem. Thanks.

Please also include all the other information asked for in the new issue template, like the version of TensorFlow being used.

Specifications:
Operating System: ubuntu 16.04
CPU version, no cuda installed
I installed that from pip3
tensorflow version: 0.10, link: https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0-cp34-cp34m-linux_x86_64.whl
Test file:
Test.zip
Above is the test file contains 10 rows X 147457 columns.
So the code is:
 train = pd.read_csv('Test.csv')
 x = tf.placeholder(tf.float32, shape=[None, 128*128*3])
 y_ = tf.placeholder(tf.float32, shape=[None, 128*256*3])
 W = tf.Variable(tf.zeros([128*128*3,128*256*3]))
 b = tf.Variable(tf.zeros([128*256*3])

Error is same as that of above.

It would help if you could provide the full program to execute. In this case, after correcting for some syntax errors in your snippet above, I'm assuming it was something like:
import tensorflow as tf
import pandas as pd
train = pd.read_csv('Test.csv')
x = tf.placeholder(tf.float32, shape=[None, 128*128*3])
y_ = tf.placeholder(tf.float32, shape=[None, 128*256*3])
W = tf.Variable(tf.zeros([128*128*3,128*256*3]))
b = tf.Variable(tf.zeros([128*256*3]))
tf.Session().run(tf.global_variables_initializer())

A couple of things:

tf.global_variables_initializer() did not exist in release 0.10, which you pointed to. It was added in 0.12, so are you sure you're using 0.10?
I'm not quite sure how the csv file is playing a role here since the code snipped does nothing with it. Do you have the same problem without the pd.read_csv line?
The W matrix is pretty big (roughly 18GB, given its shape of (1281283) x (1282563)), so I'm guessing you're running this on a pretty beefy machine :)

If I scale down the weight matrix just so that I can quickly run it without needing 18GB of RAM (W = tf.Variable(tf.zeros([128*3,256*3]))) , the modified snippet works out just fine in 0.12 but fails in 0.10 because tf.global_variables_initializer() does not exist.
I suspect there is some other code that you're running that is leading to this problem, and you're not using 0.10 but some other version.
To provide useful help, it would help to have a self-contained reproducible example with the exact version you're using (you can use print tf.__version__ to get to that as well)

@asimshankar Sorry the tensorflow version is
>>> print(tf.__version__)
0.12.1
I am trying to run it on my local system only. I have 8GB of RAM and 1TB HDD.
The error is not coming without the pd.read_csv line.
I suspect there is some other code that you're running that is leading to this problem, and you're not using 0.10 but some other version.
No @asimshankar,  what I am doing is that I am pasting the code one by one on the terminal in the sequence given above. But as soon as I am entering the command sess.run(tf.global_variables_initializer()) I am getting the error.
I am changing the code that is given here. In this link the code is for the grey image, I am changing it to make it work for the original image(containing RGB).
Below is the code that I am using
For test.py.tar.gz
Code is very similar to as shown here

I'm sorry, I am unable to reproduce your problem. Please list out the full code you're running, starting from a clean slate. For example, I ran the following snippet and it succeeds. Does it work for your? If it does, what precise changes cause it to fail?
python
import tensorflow as tf
print tf.__version__
x = tf.placeholder(tf.float32, shape=[None, 128*128*3])
y_ = tf.placeholder(tf.float32, shape=[None, 128*256*3])
W = tf.Variable(tf.zeros([128*3,256*3]))
b = tf.Variable(tf.zeros([128*256*3]))
tf.Session().run(tf.global_variables_initializer())

Note that I have changed the shape of the W variable to be much smaller.
If you're using the size mentioned in your snippet earlier of [128*128*3,128*256*3] on your 8GB machine, then you will run into trouble as this tensor would require 18GB and will cause your system to thrash heavily.

@asimshankar when I am running the last command of your code( I have changed the shape of W as you said) tf.Session().run(tf.global_variables_initializer()) then I am getting the error.
I have sent you my code that I am running in the zip folder.
To be precise I want to work with the colored image, so I am modifying the code givenhere.
Hope you understand!

Is there anybody to help me?

Facing similar issue:
W tensorflow/core/framework/op_kernel.cc:965] Invalid argument: Cannot parse tensor from proto: dtype: DT_FLOAT tensor_shape {   dim {     size: 377788   }   dim {     size: 377724   } } float_val: 0

Even I am facing same issue. Is there any solution for same?
2017-06-02 16:20:59.440852: W tensorflow/core/framework/op_kernel.cc:1142] Invalid argument: Cannot parse tensor from proto: dtype: DT_FLOAT
tensor_shape {
dim {
size: 15900942
}
dim {
size: 53003
}
}
float_val: 0

same issue here, when run
            with tf.device('/gpu:1'):
                self.sess.run(tf.global_variables_initializer())

Limit:<PHONE_NUMBER>6
InUse:                        2816
MaxInUse:                  4197120
NumAllocs:                      54
MaxAllocSize:              4194304
2017-07-27 20:05:05.729344: W tensorflow/core/common_runtime/bfc_allocator.cc:277] *___________________________________________________________________________________________________
2017-07-27 20:05:07.050444: W tensorflow/core/framework/op_kernel.cc:1148] Invalid argument: Cannot parse tensor from proto: dtype: DT_FLOAT
tensor_shape {
dim {
size: 200704
}
dim {
size: 802816
}
}
float_val: 0
Process finished with exit code 137 (interrupted by signal 9: SIGKILL)

I have the same issue

+1 on this issue

+1
017-11-07 17:01:24.884678: W tensorflow/core/framework/op_kernel.cc:1182] Invalid argument: Cannot parse tensor from proto: dtype: DT_FLOAT
tensor_shape {
dim {
size: 832
}
dim {
size: 832
}
dim {
size: 832
}
dim {
size: 216
}
}
float_val: 0
2017-11-07 17:01:24.884742: E tensorflow/core/common_runtime/executor.cc:643] Executor failed to create kernel. Invalid argument: Cannot parse tensor from proto: dtype: DT_FLOAT
tensor_shape {
dim {
size: 832
}
dim {
size: 832
}
dim {
size: 832
}
dim {
size: 216
}
}
float_val: 0
 [[Node: conv12/W/Momentum/Initializer/zeros = Const[_class=["loc:@conv12/W"], dtype=DT_FLOAT, value=<Invalid TensorProto: dtype: DT_FLOAT tensor_shape { dim { size: 832 } dim { size: 832 } dim { size: 832 } dim { size: 216 } } float_val: 0>, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

2017-11-07 17:01:24.896778: W tensorflow/core/framework/op_kernel.cc:1182] Invalid argument: Cannot parse tensor from proto: dtype: DT_FLOAT
tensor_shape {
dim {
size: 832
}
dim {
size: 832
}
dim {
size: 832
}
dim {
size: 216
}
}
float_val: 0
2017-11-07 17:01:24.897232: E tensorflow/core/common_runtime/executor.cc:643] Executor failed to create kernel. Invalid argument: Cannot parse tensor from proto: dtype: DT_FLOAT
tensor_shape {
dim {
size: 832
}
dim {
size: 832
}
dim {
size: 832
}
dim {
size: 216
}
}
float_val: 0

+1
Cannot parse tensor from proto: dtype: DT_FLOAT
tensor_shape {
  dim {
    size: 230400
  }
  dim {
    size: 7200
  }
}
float_val: 0

Same problem here.
Windows 10 x64, Python 3.5.2, TF 1.4.0, 8Gb RAM

the same problem
`InvalidArgumentError (see above for traceback): Cannot parse tensor from proto: dtype: DT_FLOAT
tensor_shape {
dim {
size: 150528
}
dim {
size: 150528
}
}
float_val: 0
 [[Node: training/SGD/Const = Const[dtype=DT_FLOAT, value=<Invalid TensorProto: dtype: DT_FLOAT tensor_shape { dim { size: 150528 } dim { size: 150528 } } float_val: 0>, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

`

Same Problem, pls guide me
InvalidArgumentError: Cannot parse tensor from proto: dtype: DT_FLOAT
tensor_shape {
dim {
size: 3840000
}
dim {
size: 1024
}
}
float_val: 0

@lokesh005 @rsathishr @wangzhenhui1992 @pgalilea @huyvohcmc @pribadihcr @LeviZell @Lukeeeeee @mayankj08 @pj-parag - Sorry to hear this, but it would help if more detailed information was provided. Is everyone using 1.4.0? Can you provide a short snippet that reproduces the problem?
For example, in a previous comment I had provided a sample snippet (which doesn't reproduce the problem for me though). If that snippet causes you trouble, please do provide the full output (including the version information printed by the line print(tf.__version__)). @lokesh005 - I'm not clear from your responses as to which version you're using, and you pointed to "modifications" to the tutorial code, but without knowing what those modifications are, it will be hard to diagnose the issue.
Looking forward to some more detailed information.
Thanks.

You can find some solutions here
https://stackoverflow.com/questions/46941747/tensorflow-error-cannot-parse-tensor-from-proto

Can we open this issue again?
I am facing same issue on AWS Sagemaker Notebook - 32GB RAM.
Dimension of my dataset is 408 * 241390, whenever use the initializer command -
self.sess.run(tf.global_variables_initializer())
it shoes me this error -
Invalid argument: Cannot parse tensor from proto: dtype: DT_FLOAT


Improve keyboard and screen-reader related accessibility

My team is wanting to make use of this library, however we noted some accessibility improvements needed from our end.

Toolbar

aria-label on toolbar button (can use the same text as the button tooltip)
Toolbar button images are decorative and require alt-text=""
Add aria-label="Toolbar" to large toolbar group for section context (add "Toolbar" string and translations)

Cell keyboard navigation

Add support for Shit + Tab to move cell focus left

Add tab indices to all tags with an onClick attribute

While some of these are required to pass certain accessibility standards (WCAG 2.1), others improve the keyboard navigation and screen reader experience.
The changes have already been made in this fork.
(npx prettier --write ./packages was needed to push commits for the large scope of the tab indices update)

Hi, thanks for pointing these out! I'll start reviewing if you're willing to raise a pr to this project?

Thank you so much @sanchit3008. I have edited the issue to point to the PR for transparency.
Please let me know if there are any questions or concerns as one does in PRs, really appreciate your collaboration.

sure thing. its going to take me some time to review this though.

have closed this issue


Symetric mappings for nested keys

Nested keys like below work well for mapping JSON into an object
heightInCM <- map["height.value"]

It, however, doesn't work for mapping an object into JSON
{
  "height.value" : 180,
}

An expected result is
{
  "height" :  {
    "value" : 180
  }
}

:+1: for this!

Thank you for pointing them out! :smile:
I've fixed them.

Nice addition!


deps: bump sigs.k8s.io/karpenter

Fixes #N/A
Description
Bumps sigs.k8s.io/karpenter to include https://github.com/kubernetes-sigs/karpenter/pull/1545.
How was this change tested?
/karpenter snapshot
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 79.261%

Files with Coverage Reduction
New Missed Lines
%

pkg/providers/amifamily/ami.go
1
91.67%

Totals

Change from base Build<PHONE_NUMBER>9:
-0.01%

Covered Lines:
5981

Relevant Lines:
7546

💛  - Coveralls


Merge changes after release 1.6.0

Codecov Report

Merging #62 (bf48430) into master (a43af1d) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #62   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           69        69
  Lines         1076      1076
  Branches        42        42
=========================================
  Hits          1076      1076

Impacted Files
Coverage Δ

src/main/Enums.ts
100.00% <ø> (ø)

...blishing_limit/GetContentPublishingLimitRequest.ts
100.00% <ø> (ø)

...lishing_limit/GetContentPublishingLimitResponse.ts
100.00% <ø> (ø)

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 a43af1d...bf48430. Read the comment docs.


Progressbars retain values when restarting

Description
If i finish and then restart a bar using AdaptiveETA, instead of showing the ETA the bar shows me the Time.
Code
import progressbar
import time

maximum = 50
widgets = [progressbar.FormatLabel('Bar'), "   ",
                       progressbar.Percentage(), " ",
                       progressbar.Bar(), " ",
                       progressbar.Timer(), " ",
                       progressbar.AdaptiveETA()]
bar = progressbar.ProgressBar(widgets=widgets,
                              max_value=maximum)

steps = 0
bar.start()
while steps < maximum:
	bar.update(steps)
	time.sleep(0.1)
	steps += 1
bar.finish()

time.sleep(0.2)

steps = 0
bar.start()
while steps < maximum:
	bar.update(steps)
	time.sleep(0.1)
	steps += 1
bar.finish()

Versions

Python version: 3.5.2
Python distribution/environment: Python
Operating System:Ubuntu 16.4
Package version: 3.30.2

Thanks for the bug report, I'm not 100% sure what would be the best way to solve it...
As a temporary workaround, the state can easily be reset with a: bar.extra = dict().
For the actual solution I'm afraid that might cause unexpected side effects for people (ab)using that feature for custom data... I'll have to do a bit more research I guess.

Thanks for the answer. I tried the workaround, placing bar.extra = dict() both after the first finish and after the second start but in both cases it didn't work. Another possible workaround is to create a totally new bar, but that doesn't seem to be the best solution memory wise.

No need to worry about that. Python will simply garbage collect the old bar and create a new one. Assuming you use the same variable of course :)
I've pushed a fix to the development branch for you to try, I believe it solves the issue and I'm hoping it won't cause issues for other users.

Tested, it works just fine. Thank you really much for the super quick bugfix!

@WoLpH If you do not create a github "release" and only a tag, I do not get a notification on a package update. You can leave it like this, but it would be nice of you can email me on a new release. see contact.nicohood.de

@NicoHood I can make Travis automatically (and safely) execute some code as soon as I add a new tag. For both of our convenience, what would be the best way to automate this?
I think I can make Travis automatically upload a release to Github as well: https://docs.travis-ci.com/user/deployment/releases/

Or you could manually tag the release with gpgit and also add the signature via github releases (instead of pypi). Do as you wish, it shouldnt be too complicated, its just that we are on the latest version. You can also flag the package out of date on the archlinux page.

@NicoHood I tried gpgit after your initial request but it was a bit tricky to incorporate in my workflow which means that at some point or another I'll forget to use it and that would be bad ;)
I've made sure that travis automatically creates github releases whenever I create a tag so I believe that should solve the issue.


examples: dragging an undecorated window

Operating System

[X] Windows
[X] macOS
[X] Linux
[X] FreeBSD
[X] OpenBSD
[ ] Android
[ ] iOS
[ ] Nintendo Switch
[ ] Xbox
[ ] Web Browsers

What feature would you like to be added?
This is not a new feature. We should be able to make an example to drag an undecorated window.
See also
https://stackoverflow.com/questions/33052651/glfw-how-to-drag-undecorated-window
Why is this needed?
Probably useful for desktop mascot applications

See also https://github.com/glfw/glfw/issues/923


webSession not being fired

The webSession event is not being fired for some reason.

webLogOn()

SteamUser will automatically log onto steamcommunity.com when a successful connection to Steam is established (as an individual user)

var steamUser = new SteamUser();
loginBlob.create(botDocument, authCode).then(function (logOnOptions) {
    steamUser.logOn(logOnOptions);
});

steamUser.on('webSession', function (sessionID, cookies) {
    console.log("Got web session");
    // Do something with these cookies if you wish
});

Do I need to add anything extra?

As established here, you logged on anonymously.


Development: Update LTI user documentation

Checklist
General

[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Motivation and Context

This PR updates LTI documentation according to recent changes.
Description

Steps for Testing

Please check the updated version of the documentation and screencasts from here: https://artemis-platform--8128.org.readthedocs.build/en/8128/user/lti.html
Please check if the docs are understandable, easy-to-follow and beginner-friendly.

Testserver States

[!NOTE]
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked

Review Progress

Code Review

[x] Code Review 1
[x] Code Review 2

Summary by CodeRabbit

Documentation

Updated the LTI Integration guide to focus on LTI Configuration, detailing the steps for integrating Artemis with LMS platforms like Moodle and edX using the LTI 1.3 standard.
Added guidance on utilizing LTI Advantage services, including Score Service and Deep Linking Service, for improved Artemis and LMS platform integration.
Emphasized seamless connection between Artemis and various learning platforms, enhancing communication and user experience.

It's highly detailed and comprehensible. I do have a couple of suggestions, but please feel free to disregard them if you're satisfied with the current version.

In the dynamic registration picture in Artemis, the link could be framed with red to distinguish it from the other links in the picture.
In the dynamic registration video, it is not clear where the secure icon URL comes from.
It is a little confusing that the instructor can manually register because the instructor needs an admin in the process.
I found that "User Account Provisioning" is not a good title because the connection to Artemis is missing.
The title "On the LTI Platform Site" could be improved. Perhaps something like "Linking Artemis Exercises" would be better.
Is it possible to allow the videos to play at double speed?

Thank you so much for

It's highly detailed and comprehensible. I do have a couple of suggestions, but please feel free to disregard them if you're satisfied with the current version.

In the dynamic registration picture in Artemis, the link could be framed with red to distinguish it from the other links in the picture.
In the dynamic registration video, it is not clear where the secure icon URL comes from.
It is a little confusing that the instructor can manually register because the instructor needs an admin in the process.
I found that "User Account Provisioning" is not a good title because the connection to Artemis is missing.
The title "On the LTI Platform Site" could be improved. Perhaps something like "Linking Artemis Exercises" would be better.
Is it possible to allow the videos to play at double speed?

Thank you very much for your detailed feedback @nata-81! I really appreciate the time you've taken to review this documentation and offer your insights. I applied your suggestions for framing the link in the dynamic registration picture, improving the title "On the LTI Platform Site" to "Linking Artemis Exercises" and also improving the title "User Account Provisioning" to "Artemis User Account Provisioning" for clarifying the connection to Artemis.

I added a small note for how to obtain the icon URL before the dynamic registration video.
Thank you for pointing out that the part about the instructor's manual registration process is confusing. It's important to make sure everyone understands who does what. I thought about splitting the video into parts, but I worry that might make things more confusing if people miss some videos. So, I think it's best to keep it as one video that goes through everything step by step and explains why each step is important.
I am not sure about double speed playback for videos on tum live course maybe you can do it with a chrome extension (i.e. video speed controller)


Add failing test showing ERB extra spaces

Summary

Other Information

Hey @manuelpuyol! This PR seems linked to what I experienced in #913 - you may want to check out that thread. The solution I put together for that trims trailing whitespace from rendered ERB templates, but what you're experiencing here with ViewComponent is internal to your rendered component itself, and probably needs its own solution.
As @joelhawksley mentioned on the linked PR, I agree that the trimmed_content helper you put together feels like a framework feature and would do well to resolve this. Maybe it's a render mode that, by default, follows the strip_trailing_whitespace config option from Action View?


AC-labeled bags or boxes for light-mixing demos, preferably with QR code to microcourses website

EDIT: Ordered

The boxes are a bit too big, and feel a bit too much like lunch takeout boxes. Ideal might be something more like the look and feel of an adafruit box and a QR code printed out on a business card.


Transform List to Set for Better Performance

Hi,
We find that the List allocated at line 85 in the function isExclusionConfigFile is only used to check whether an element is stored in the container. The method contains of a list runs in linear time complexity. We notice that the exclusionFileList is maintained in the HashMap exclusionMap, which maps a string object to an object.
To achieve the same functionality, maybe a HashSet can provide a more efficient implementation. We can just construct a HashSet and maintain it in the HashMap exclusionMap. When we invoke the function isExclusionConfigFile, we only need to take amortized O(1) time to maintain the map and invoke the contains method of HashSet.
We discovered this inefficient usage of containers by our tool Ditto. The patch is submitted in #1028 . Could you please check and accept it? We have tested the patch on our PC. The patched program works well. Of course, it would be better to change EXCLUSION_CONFIG_FILE_LIST to EXCLUSION_CONFIG_FILE_Set. Anyway, the name does not affect the performance anymore.
Bests
Ditto

The code deals with the configuration only, and the number of entries is minimum. The PR has a conflict that cannot be resolved at the moment. I would close this issue and leave the code without any optimization.


Chore/update project structure

:tada: This PR is included in version 1.0.0-beta.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Support sending multipart/form-data in RestProxy

Add a @PartParam and parse it in SwaggerMethodParser
Send multipart/form-data in RestProxy

@jianghaolu do you have any specific service scenarios this could be tested against to verify correctness?

Most cognitive services accept multipart/form-data as input, e.g.: https://github.com/Azure/azure-rest-api-specs/blob/2e7ca21a5ad6f749e5bd453580f1c31c1d99b4e6/specification/cognitiveservices/data-plane/ComputerVision/stable/v1.0/ComputerVision.json#L563.

The implementation of multipart/form-data should follow the specification laid out in RFC 7578. Based on initial review of the specification the following options should exist on @PartParam:

Option Name
Required
Default (if not required)
Explanation

Name
Yes
N/A
Name of the form field, configures name in the part Content-Disposition header

Filename
No
None
Name of a file included in the form, configures filename in the part Content-Disposition header

ContentType
No
text/plain
The Content-Type of the part, if the part is a file this will default to application/octet-stream

loadtesting uses multipart, and they plan a GA soon (expect Nov.)
https://github.com/Azure/azure-sdk-for-java/pull/30706
At present they uses a helper method to use setHeader and setBody to provide a solution (the case when streaming is not necessary?).
https://github.com/Azure/azure-sdk-for-java/pull/30706/files#diff-5b7425837268825f2f8d2712d0ce73ade89309dc7ec407d2c9a45708525af0f9
And provide a hand-written method in Client to use this helper.
Let us know your opinion.

We may need an update on it. OpenAI would use multipart/form-data in mid Sept. for transcription from video to text


Where is the sparsefusion folder mentioned at environment.md?

Hi
Thanks for the great work
I just wonder where can i find sparsefusion folder mentioned at https://github.com/zhizdev/mvdfusion/blob/main/ENVIRONMENT.md#install-other-mvd-fusion-requirements

Hey! It's a typo from the older environment set up from sparsefusion. Please ignore that.


Bug 2253401: bundle: update the IBM fs version

Manually backporting https://github.com/red-hat-storage/odf-operator/pull/350 to release-4.14

/retest

/retest

/retest


Actual size of objects in myosuite

Hello, I would like to ask how the actual size of objects in myosuite is calculated. For example, in myoHandReorient100-v0  env the size of the first box is [0.02295, 0.02306, 0.02221]，but this object seems to be in units other than cm. The box in the picture looks much larger than 0.02295cm* 0.02306cm*0.02221cm. Is there a scaling ratio, or how is the actual unit or size of the myosuite object calculated?

hhhh, it is half size in mujoco box, sorry to bother you


🧑💻 : Create a Random Image Generator

:red_circle: Title : Random Image Generator Enhancement
:red_circle: Enhancement Aim :
Enhance the random image generator to allow users to specify the dimensions and categories of images they want to retrieve.
:red_circle: Changes :

Input Fields: Add input fields for users to specify width, height, and categories (e.g., nature, tech, people).
Fetch Logic: Update the fetch logic to include the user-defined dimensions and categories in the API request.
Error Handling: Improve error handling to provide user feedback in case of invalid input or API errors.
Styling: Enhance the UI for a better user experience with responsive design.
Documentation: Update documentation to explain the new features and how to use them.

Screenshots 📷

✅ Details to Include When Taking the Issue:
Name : Siddartha Karri
Participant Role : GSSOC, Hacktoberfest

Happy Contributing! 🚀
Wishing you all the best on your open-source journey. Enjoy! 😎

@iamrahulmahato assign me for this project


IPROTO-57 SerializationContext.canMarshall(String typeName) implementation does not follow documented contract

https://issues.jboss.org/browse/IPROTO-57
https://issues.jboss.org/browse/IPROTO-58
https://issues.jboss.org/browse/IPROTO-59
https://issues.jboss.org/browse/IPROTO-60

Integrated in master.


Maria OBryant

[Enter feedback here]
I can't seem to log in to the smart panel. Can you help me with that?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6bc7364e-7355-3a20-fee1-14a9ff3f25d0
Version Independent ID: 9396844d-301a-f38c-c147-16332b5b80b1
Content: Content settings
Content Source: MicrosoftSearch/content-settings.md
Service: mssearch
GitHub Login: @dawholl
Microsoft Alias: dawholl

Why when I try to add a app it kicks me back?


always sort entities by date

always sort entities by date,
it might not be the nicest solution, I'm not a python dev, but this one works

Perfect! Thanks for your contribution. I will add it to the upcoming release (next week).


need build instructions for popular dists

it is too comfusing to build otherwise

Normally, make or make install should do the work. Maybe you are missing dependencies. And, in the commits of the last days, i moved from gtk2 to gtk3, so you need gtk-sharp3 ( https://github.com/mono/gtk-sharp ).
So, wich distro are you using or, what problems do you have exactly?

Ubuntu 14.04
Error output:
~/gcaliper$ make
xbuild solution.sln
XBuild Engine Version 12.0
Mono, Version <IP_ADDRESS>
Copyright (C) 2005-2013 Various Mono authors

Build started 6/15/2015 5:47:09 PM.
__________________________________________________
Project "/home/user/gcaliper/solution.sln" (default target(s)):
	Target ValidateSolutionConfiguration:
: error : Error initializing task Message: Could not load file or assembly 'Microsoft.Build.Tasks.v4.0' or one of its dependencies. The system cannot find the file specified.
	Task "Message" execution -- FAILED
	Done building target "ValidateSolutionConfiguration" in project "/home/user/gcaliper/solution.sln".-- FAILED
Done building project "/home/user/gcaliper/solution.sln".-- FAILED

Build FAILED.
Errors:

/home/user/gcaliper/solution.sln (default targets) ->
(ValidateSolutionConfiguration target) ->

	: error : Error initializing task Message: Could not load file or assembly 'Microsoft.Build.Tasks.v4.0' or one of its dependencies. The system cannot find the file specified.

	 0 Warning(s)
	 1 Error(s)

Time Elapsed 00:00:00.2018170
make: *** [compile] Error 1

I tried to install some mono deps, but they were too big, so I aborted it

Thank you for your feedback. I will setup a ubuntu-gnome 15.04 virtual machine and test the scenario today.

One more question: I understand, that as developer you are trying to reuse some code from mono and gtk, but I'm curious: how many libs I need to install on fresh system to get it running? Installing all mono and gtk dev libs just seems wrong...
Maybe it is possible to somehow statically link them, so you just need to download just one binary?

This is no c++, it's uses a runtime environment. For example, when you are using python, you have lots of dependencies, too, and you cannot compile it to a native image, too. So, see mono "like" python, but a way more complex.
I tested is now successfully on my machine. Simple install the dependencies, dont worry about the 250 MB installed size:
sudo apt-get install mono-complete gtk-sharp3

and call make again.
(tested on ubuntu-gnome 15.04)

i've updated the readme

Thanks, will try this tomorrow!

Works!

If you have any suggestions, please let me know.


HHH-13084 + HHH-13114

https://hibernate.atlassian.net/browse/HHH-13114
https://hibernate.atlassian.net/browse/HHH-13084
Supersedes:
https://github.com/hibernate/hibernate-orm/pull/2655
I've corrected some commit comments to include the appropriate HHH issues.

@gbadner I let you merge this one? Not sure of it's status.

@gbadner btw, it might be worth squashing a bit the commits as otherwise it's going to be a pain to merge this one 6 (and backport if we backport it).
Thanks!

Test commits squashed into 1 commit; fix commits squashed into the other commit.


not work on IOS

If i try the link:
https://kazuhito00.github.io/Unity-VideoPlayer-WebGL-Sample/WebGL-Build/
on my iphone, the video will not start
Works ok on windows and android

Sorry, I'm not familiar with iOS.


Explore auto-formatting phone numbers

Our current phone number input accepts numbers with a number of formatting styles (none, dashes, parentheses, etc), and validates that there are 10 digits. However, users aren't aware of their options which leads to uncertainty. It's also hard to read an unformatted number.
I'd like to explore using input masking to automatically format numbers. E.g.:
https://uxmovement.com/forms/bad-practices-on-phone-number-form-fields/
https://baymard.com/blog/input-masking-form-field
Also need to consider:

Will users need/want to add country codes?
Do we need to support extensions (an example might be collateral contacts in Colorado, where we're asking users for work-related phone numbers)?

I looked on the Gov.uk design system and they have an interesting section on "Avoid input masking" because of some usability issues: https://design-system.service.gov.uk/patterns/telephone-numbers/

That is interesting. I'm not sure how to balance those points (users want to "type a number in their preferred way") vs the challenge of users not knowing what format is expected of them and feeling unsure. Really not sure which is more pressing.

As a user I find masks difficult to use, sometimes to the point of being
unusable. I've observed this often happens when copy and pasting numbers or
trying to move a cursor to correct a mistake.
We largely don't care what format people enter their phone numbers in so
long as they have the right number of digits. Is our concern that people
are confused about how to enter phone numbers, that the phone numbers we
are getting are invalid, a combination, or something else?
If concern is about invalid numbers, I think (like with email) that best
way is to send a test text message in flow and ask them to confirm receipt.
If about user confidence, I'm not sure.
On Mon, Feb 11, 2019 at 1:32 PM Rachel Edelman<EMAIL_ADDRESS>wrote:

That is interesting. I'm not sure how to balance those points (users want
to "type a number in their preferred way") vs the challenge of users not
knowing what format is expected of them and feeling unsure. Really not sure
which is more pressing.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/codeforamerica/cfa-styleguide-gem/issues/60#issuecomment-462502695,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADgT1EznR5bd9OMdoj9LfyJLo_mhdYT4ks5vMeFSgaJpZM4aERdq
.

--
Work on things that matter. Find a job in government
http://jobs.codeforamerica.org/?source_codes=staff.

My concern is confusion. I've seen a lot of users express that they don't know what format they're supposed to use and they're worried about getting an error. The flexibility isn't clear to them. They usually just pick something and it works, but that moment of uncertainty isn't great UX. If we don't go with masks, we need another way to:
a) communicate that anything goes, or
b) give a specific format example.


Unable to start Peer

After calling the static function start() in litePeer, exception is thrown:
Map log file. Path=/data/user/0/<package>/files/ipfslite/000000.vlog. Error=cannot allocate memory

I think this latest fix from @andrewxhill should address this: #14

Yes, exactly. Please be sure to wipe your simulator. Then start your peer with the lowmem option set to true, see here:
https://github.com/textileio/android-ipfs-lite/pull/14/files#diff-04c6e90faac2675aa89e2176d2eec7d8R95


automatic scrolling status

Hello.
Thank you for the very useful framework.
I want to stop scrolling when the user wants to scroll, but I want an event that fires at that time.
I would like to display the automatic scrolling resume button only when automatic scrolling is disabled.

You can prevent user-scroll like this:
const style = { overflow: 'hidden !important' };
<Lrc style={style} recoverAutoScrollInterval={0} {...otherProps} />;

Rather than prevent scrolling, I would like to display button [recover auto scroll immediately] only when the user scrolls.

<EMAIL_ADDRESS>has released, and there is a onAutoScrollChange, which indicates whether or not it is auto-scroll.

Thank you so much.
I have created the program we envisioned.

It doesn't work on my smartphone, do you know the cause?

Currently browser can not verify that scroll is from user or script, so react-lrc uses a hack way to detect. It relys on mouse event, but there is no mouse event on smarkphone. Maybe I should change mouse event to pointer event.

Please use 3.2.1


Warn if QR exceeds version 22

QR codes shouldn't exceed version 22 (with 105x105 modules).

Fixed by #57.


IOS problem

The mobile plug-in switch cannot be turned on [obsidian-local-rest-api] ，IOS Obsidian V1.2.0 is not supported. Hope the developer can solve it soon, thank you!

This is, unfortunately, not fixable -- this library uses many node modules that are unavailable on IOS; so installation on mobile devices is disabled (see https://github.com/coddingtonbear/obsidian-local-rest-api/blob/main/manifest.json#L9).


RFE: Add option to choose how strong ciphers will be used for encryption

Hi,
I'm currently working on this RFE for our customer. Desired outcome will be similar like in mod_ssl module for httpd - cupsd could choose how strong ciphers will be used for encryption - options will be something like these: LOW-MEDIUM-HIGH.
Do you want to add this feature to CUPS, when I send the patch?

First, only one of the TLS libraries supported by CUPS (GNU TLS) offers this sort of support. The macOS security framework has very low level control (which we use in some cases) and the Windows security provider interface doesn’t allow applications any direct control. Both macOS and Windows limit supported ciphers by default to those that are either considered secure or are required for interoperability.
Second, the SSLOptions directive in client.conf and cupsd.conf already provides specific options to allow low security ciphers for interop (AllowRC4 and AllowDH) and deny cipher suites and versions that are being phased out (DenyCBC and DenyTLS1.0). Conceptually you could add generic “BestSecurity” and “BestCompatiblity” options, however I have my concerns about options that can change behaviour across releases.
But finally I have never liked these mod_ssl (really OpenSSL) options since the definitions of LOW, MEDIUM, and HIGH are not clear and vary not based on the application version but on the library version in use. All of the security focused guides therefore provide an explicit list of cipher suites and TLS versions and not the low, medium, or high pseudo settings.
The default for CUPS is a balance between compatibility and security.

So to answer your question, it will depend. Just supporting what mod_ssl does will be rejected. Doing something better will be considered.

Ciphers, which customer consider as medium strong, are part of TLS 1.0 and use CBC, so DenyCBC and DenyTLS1.0 should work. But what about TLS 1.1? It uses same ciphers as TLS 1.0 (that's how I understood it), so what about adding option DenyTLS1.1, which will make CUPS to use TLS 1.2?

TLS 1.1 has other differences from TLS 1.0, and the set of ciphers is not generally limited by the TLS version (each TLS version has one or more required cipher suites, but any version can generally implement any cipher suite).
I can see maybe adding a DenyTLS1.1 directive, but perhaps for future proofing we should start using "MinTLS" options instead since TLS 1.3 is all but done and that syntax would be forward-looking.

MinTLS directive sounds reasonable. Let's go with that.

@michaelrsweet:

First, only one of the TLS libraries supported by CUPS (GNU TLS) offers this sort of support. The macOS security framework has very low level control (which we use in some cases) and the Windows security provider interface doesn’t allow applications any direct control.

It seems this only applies to the old CryptoAPI on Windows. If you use "Cryptography API: Next Generation" (CNG), it seems to be possible to add and remove single ciphersuites for a connection without having to fiddle with the registry:
https://msdn.microsoft.com/en-us/library/windows/desktop/bb870930(v=vs.85).aspx
CNG is supported on Windows Vista / Server 2008 and newer.
I've never used neither CryptoAPI nor CNG myself, though.

Should MinTLS be complementary to SSLOption directive? Or can be there conflicts between these to directives? To sum it up - what relationship will MinTLS and SSLOptions have?
I created patch for cups in RHEL 7 for now, where cups is built with openssl. Patch introduces new option for SSLOption directive - DenyTLSv1.1, because I didn't know possible relations between SSLOption and MinTLS directives. When I will have time (at beginning of November), I can rewrite it for GNUTLS (I am not familiar of Mac or Windows encrypting libraries), if you are interested.

MinTLS will be an SSLOptions value, as an alternative to adding a bunch more DenyTLS#.# or AllowTLS#.# options.

So there will be SSLOptions values like MinTLS1.0, MinTLS1.1, MinTLS1.2, if I understood correctly?

Yes

Ok, thank you, Mike.

[master 8f1fbdecb] Add support for MinTLS and MaxTLS options (Issue #5119)


doclifter: 2.17 -> 2.18

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/doclifter/versions.
These checks were done:

built on NixOS
Warning: no invocation of /nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18/bin/manlifter had a zero exit code or showed the expected version
/nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18/bin/doclifter passed the binary check.
1 of 2 passed binary check by having a zero exit code.
1 of 2 passed binary check by having the new version present in output.
found 2.18 with grep in /nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18
directory tree listing: https://gist.github.com/5f26018de7c8c2bbf86953b19997143a
du listing: https://gist.github.com/b556716e68094c4f1457bbbbe6467d55

meta.description for doclifter is: '"Lift documents in nroff markups to XML-DocBook"'.
Experimental: this build is cached with Cachix. To use the cache follow these experimental instructions:
One time setup in nixpkgs Git checkout:
cachix use r-ryantm
git remote add r-ryantm https://github.com/r-ryantm/nixpkgs.git

Test this build:
git fetch r-ryantm && git checkout 3a873fb3016de74cbb05ea75ba570aef49396102 && nix-shell --pure -I nixpkgs=. -p doclifter

Success on x86_64-linux (full log)
Attempted: doclifter
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18
gzipping man pages under /nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18/share/man/
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18/bin
patching script interpreter paths in /nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18
/nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18/bin/manlifter: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/nwsww2h72aa6040sg3yzprl9qrhkgymx-python-2.7.15/bin/python2"
/nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18/bin/doclifter: interpreter directive changed from "/usr/bin/env python" to "/nix/store/nwsww2h72aa6040sg3yzprl9qrhkgymx-python-2.7.15/bin/python"
checking for references to /build in /nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18...
/nix/store/qzimyzp6c58i4jmqkmijzicyxzbn3j0x-doclifter-2.18

Success on aarch64-linux (full log)
Attempted: doclifter
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/0fwrbhxmmrlczakgrhl65my7k7f4d745-doclifter-2.18
gzipping man pages under /nix/store/0fwrbhxmmrlczakgrhl65my7k7f4d745-doclifter-2.18/share/man/
strip is /nix/store/min150lkigznaayzpwvf8d4jdl1dqvx6-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/0fwrbhxmmrlczakgrhl65my7k7f4d745-doclifter-2.18/bin
patching script interpreter paths in /nix/store/0fwrbhxmmrlczakgrhl65my7k7f4d745-doclifter-2.18
/nix/store/0fwrbhxmmrlczakgrhl65my7k7f4d745-doclifter-2.18/bin/doclifter: interpreter directive changed from "/usr/bin/env python" to "/nix/store/nk1fsyn21g4pmchac1y9skmxryha7m64-python-2.7.15/bin/python"
/nix/store/0fwrbhxmmrlczakgrhl65my7k7f4d745-doclifter-2.18/bin/manlifter: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/nk1fsyn21g4pmchac1y9skmxryha7m64-python-2.7.15/bin/python2"
checking for references to /build in /nix/store/0fwrbhxmmrlczakgrhl65my7k7f4d745-doclifter-2.18...
/nix/store/0fwrbhxmmrlczakgrhl65my7k7f4d745-doclifter-2.18

Success on x86_64-darwin (full log)
Attempted: doclifter
Partial log (click to expand)
gzip <doclifter.1 >/nix/store/5rbxmll69ajjm7pq8whb2spkvrammp5g-doclifter-2.18/share/man/man1/doclifter.1.gz
rm doclifter.1
post-installation fixup
gzipping man pages under /nix/store/5rbxmll69ajjm7pq8whb2spkvrammp5g-doclifter-2.18/share/man/
strip is /nix/store/8q05v40n0f7amgw70pk6bkb23r7hrzgn-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/5rbxmll69ajjm7pq8whb2spkvrammp5g-doclifter-2.18/bin
patching script interpreter paths in /nix/store/5rbxmll69ajjm7pq8whb2spkvrammp5g-doclifter-2.18
/nix/store/5rbxmll69ajjm7pq8whb2spkvrammp5g-doclifter-2.18/bin/manlifter: interpreter directive changed from "/usr/bin/env python2" to "/nix/store/mcdhm28xci86jq0saj0qnq5k06hd7av1-python-2.7.15/bin/python2"
/nix/store/5rbxmll69ajjm7pq8whb2spkvrammp5g-doclifter-2.18/bin/doclifter: interpreter directive changed from "/usr/bin/env python" to "/nix/store/mcdhm28xci86jq0saj0qnq5k06hd7av1-python-2.7.15/bin/python"
/nix/store/5rbxmll69ajjm7pq8whb2spkvrammp5g-doclifter-2.18


de174d0: Deaf on AM

Hi 1O11.
From de174d0 on RX in mode AM isn't working anymore -- or let ne say 'as before'. Even very strong ATIS (weather condition) stations are very weak. What happened?
EDIT: -98dB brings bad AM demodulation again.
EDIT²: Setup SQL 2 (before 1 -- 1 gives open SQL on some freqs now even with no signal/noise only), Wide, AM fix on, Battsave 1:4.

If your squelch is now too sensitive, then change this line in Makefile from this ..
ENABLE_SQUELCH_LOWER := 1
to this ..
ENABLE_SQUELCH_LOWER := 0
then recompile and upload to your radio.

Can you do a little video of what's happening to the AM audio so I can see what the AM screen data is saying ?

Bare in mind that the UV-k5(8) (k6 ?) is currently down to £9.70 inc free postage/shipping on ali for some reason.


Backport #13202 to branch_9x

Add timeout support to AbstractKnnVectorQuery (#13202)
Fix failing BaseKnnVectorQueryTestCase#testTimeout (#13283)

Now that the test failure have been fixed, I'm backporting #13202 to branck_9x. Running into some build issues on my local setup, which I think are unrelated to the commit. Opening this PR to run precommit checks before backporting.

Getting the same test failure here.
> Task :lucene:core:compileTestJava
/home/runner/work/lucene/lucene/lucene/core/src/test/org/apache/lucene/search/BaseKnnVectorQueryTestCase.java:816: error: cannot find symbol
          noTimeoutManager.newCollector(Integer.MAX_VALUE, searcher.leafContexts.getFirst());
                                                                                ^
  symbol:   method getFirst()
  location: variable leafContexts of type List<LeafReaderContext>
/home/runner/work/lucene/lucene/lucene/core/src/test/org/apache/lucene/search/BaseKnnVectorQueryTestCase.java:832: error: cannot find symbol
          timeoutManager.newCollector(Integer.MAX_VALUE, searcher.leafContexts.getFirst());
                                                                              ^
  symbol:   method getFirst()
  location: variable leafContexts of type List<LeafReaderContext>
Note: Some input files use or override a deprecated API.

Backported changes directly to retain original commit messages. This PR would've needed a squash merge as it was not rebased on the latest branch_9x commit.


Telly 1.5.0 CPU usage

telly release with the issue:
telly, version 1.5.0 (branch: HEAD, revision: 811ea6be581f9bc8f2956d7c3892f2754b948e4d)
build user:       root@8534dbdccf84
build date:       20180907-03:23:00
go version:       go1.10.3
Operating environment (Docker/Windows/Linux/QNAP, etc.):
macOS 10.12.6
Description of problem:
I assume this version of telly is using ffmpeg by default. Anyway, whenever I play a stream on my iPad, the CPU on the server machine is using about 100-120% of one core. Even worse, when I stop streaming, the CPU is still in use, and with each new stream, the CPU usage increases. Quitting telly is the only way to eliminate the CPU usage.

Taken care of by 7f69fc5618e071f61cf873bb14cc8bbf931e27eb


[Bug] Minimal mode no longer correctly displays servers

Describe the Bug
Minimal mode no longer correctly displays servers on the left-hand side. Every server icon is shifted to the right (presumably to be in its original position). This happens inside folders as well.
To Reproduce
Turn on minimal mode.
Expected Behavior
Every icon should be in the middle of the dark-gray bar instead of leaning towards the right-hand side of said bar.
Screenshots

Discord Version
Stable 100804 (26e978a)
BetterDiscord 1.2.1

Same issue
Stable 100804 (26e978a)
BetterDiscord 1.2.1
Host 1.0.9003 Windows 10 64-Bit (10.0.22471)
Also occurs in folders

Minimal Mode on my end isn't doing anything anymore. It's not making it small anymore.
BetterDiscord 1.4.1

@maisoncastro It's been replaced w/ this standalone theme


Query parser

Describe the bug
find a butler, j and title cms and title experiment and date 2008
on labs yields too many results.
To Reproduce
https://inspirehep.net/literature?sort=mostrecent&size=25&page=1&q=find a butler%2C j and title cms and title experiment and date 2008
yields 92 results
Expected behavior
on legacy or with different order of arguments
yields 1 result, which is correct
Additional context
https://rt.inspirehep.net/Ticket/Display.html?id=1053317

See more: https://inspirehep.zulipchat.com/#narrow/stream/195298-experts/topic/bug.20in.20query.20parser.3F


Fix not exporting data when data folder doesn't exist

This fixes #249

It's weird how I can add a commit and than approve my own change but I cannot request review from @stirante because it's his branch.


AssertDatabaseMatchesConfiguration does not work when AutoCreate.None

It appears that when AutoCreateSchemaObjects = AutoCreate.None, store.Schema.AssertDatabaseMatchesConfiguration() does not detect if the schema is up-to-date or not (i.e. it does not throw an exception if the schema does not match configuration).
In production, I need to check if the database schema is up-to-date or not and I wanted to use AssertDatabaseMatchesConfiguration - but cannot use it if AutoCreateSchemaObjects = AutoCreate.None (which I presume is the correct setting in production).
Is this by design? Or is this a bug?

You’re going to have to provide a lot more context about what you’re seeing and trying to do. We do have passing tests on AutoCreate.none and no, we didn’t purposely put out misleading or nonfunctional code. I can’t fix “it doesn’t work,” but we most likely can if you can give a much better bug report here

My apologies - I have found a work-around and will close this issue.
I am very impressed with Marten and did not mean to insinuate anything.
Thank you for a great product.

@jeremydmiller I have a question along these lines too. Given an empty/invalid database and AutoCreateSchemaObjects set to AutoCreate.None, AssertDatabaseMatchesConfiguration() does not throw. When set to AutoCreate.All it does throw.
public class Document
{
    public int Id { get; set; }
}
...
var store = DocumentStore.For(cfg =>
{
    cfg.Connection(connStr);
    cfg.Schema.For<Document>();

    cfg.AutoCreateSchemaObjects = AutoCreate.None;
});

store.Schema.AssertDatabaseMatchesConfiguration();  // does not throw

I was under the impression that AutoCreateSchemaObjects was to control whether Marten would automatically patch up the schema.

@gunndabad Dunno offhand, that code has changed so many times by so many folks. Wanna a separate issue for that?

@jeremydmiller Done: https://github.com/JasperFx/marten/issues/983


Back out "Handle allocations that exceed PageRun limits"

Summary:
Original commit changeset: 8a568db14e51
Original Phabricator Diff: D51167059
Differential Revision: D51919841

@majetideepak Hi Deepak, we had to revert this diff because it caused a slow memory leak in one of the Velox applications running at Meta.

@majetideepak We didn't get a chance to investigate and figure out what exactly is the problem, but without that diff the leak stopped happening.

@mbasmanova Thank you for the update!

@majetideepak we run into memory leak in some Meta internal system using MallocAllocator. The memory free logic based on the contiguous memory addresses has problem. The forward fix needs to have map with address and length to handle the memory allocations from jemalloc


REDESIGN-16 - Re-Organize Menu Navigation

Home (BioJS Logo)
Getting Started
Contribute
Best Practices for more Advanced Users (Guarantee for Interoparibility, Documentation Guidelines)
Community ( contact info, list of BioJS groups on the web or locally, recent conferences)
About (info why BioJS exists, Mission idea)

Add Registry to the Header as well
Unify header across biojs.net, biojs.io, edu.biojs.net

I can work on this , but need some help in finallising the UI and UX


[SPARK-36293][SQL] Refactor fourth set of 20 query execution errors to use error classes

What changes were proposed in this pull request?

Refactor some exceptions in QueryExecutionErrors to use error classes.
There are currently ~350 exceptions in this file; so this PR only focuses on the fourth set of 20.

unableToCreateDatabaseAsFailedToCreateDirectoryError
unableToDropDatabaseAsFailedToDeleteDirectoryError
unableToCreateTableAsFailedToCreateDirectoryError
unableToDeletePartitionPathError
unableToDropTableAsFailedToDeleteDirectoryError
unableToRenameTableAsFailedToRenameDirectoryError
unableToCreatePartitionPathError
unableToRenamePartitionPathError
methodNotImplementedError
tableStatsNotSpecifiedError
unaryMinusCauseOverflowError
binaryArithmeticCauseOverflowError
failedSplitSubExpressionMsg
failedSplitSubExpressionError
failedToCompileMsg
internalCompilerError
compilerError
unsupportedTableChangeError
notADatasourceRDDPartitionError
dataPathNotSpecifiedError

Why are the changes needed?

https://issues.apache.org/jira/browse/SPARK-36094
Does this PR introduce any user-facing change?

No
How was this patch tested?

Pass all current tests

Test build #143988 has started for PR 34190 at commit 9be6ab3.

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

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

CC @karenfeng, please help me review this one, many thanks!


About transactionId

Hello team,
I was wondering if there is a way to calculate the Aleo Transaction ID from the transactionId returned by the requestTransaction method.
Thank you and best regards.

Currently there is not. The transactionId is a uuid generated within a wallet and is meant to preserve privacy for the transaction. Could you help describe your use & I'd be happy to suggest a usage pattern for the adapter.

Currently there is not. The transactionId is a uuid generated within a wallet and is meant to preserve privacy for the transaction. Could you help describe your use & I'd be happy to suggest a usage pattern for the adapter.

I want to make a Dapp that interacts with Leo Wallet & provides transaction history for users, allowing them to easily view the details on Haruka's Aleo Explorer.
Thank you for your help! 😄

It makes a lot of sense but we have to consider the privacy implications. I'm thinking we can add another DAppPermission type to enable sharing history. You would then be able to request transactions initiated by and records owned by the user. Would that be sufficient or do you imagine a different implementation?

That's enough for me, thanks for your help!

Any update?

This is in progress right now. It should be available within a week

The adapter is now updated and supported in version 0.0.26 of the Leo Wallet. https://github.com/demox-labs/aleo-wallet-adapter#requesting-record-plaintexts
0.0.26 has been submitted to the chrome store and should be available within 12 hours.
It will require using the OnChainHistory permission in your application.

thanks for your help!


nimble/transport: Move cmac_driver to core repo

cmac_driver is moved as ipc_cmac driver to core repository. This is to
have drivers stored in one place, as with ipc_nrf5340.

requires https://github.com/apache/mynewt-core/pull/2983


Hide MMR on profile if less than 10 matches

Remove it from the "quick-view" modal of a player

Or maybe we should show the 🐥 instead of hiding MMR completely


v2.0.1 - MultiAppTransferExample doesn't work - returns INVALID_SIGNATURE

Debugging the above.
-User creates a transaction and signs it. The Transaction object contains 1 sigPair
-Transaction converted to byte array, sent to "exchange" which signs (after signing, the transaction object contains 1 sigPair)
-Exchange returns as byte Array to user - Transaction object now contains 0 sigPair
-Execute returned transaction - fails due to no signatures.
to reproduce easily:
create a transaction then
        transferTxn.freezeWith(client);
        transferTxn.sign(userKey);

inspecting the transferTxn.sign transaction shows signatures size 1, sigPair count is 1
then
        byte[] testTxBytes = transferTxn.toBytes();
        Transaction<?> testTransaction = Transaction.fromBytes(testTxBytes);

inspecting the testTransaction transaction shows signatures size 1, sigPair count is 0 (should be 1)
        testTransaction.sign(userKey);

sigPair count is now 1

Also note that when the transaction is first created, it contains 2 node ids (0.0.3 and 0.0.6 as set by the SDK).
Converting to byte array and back, the resulting transaction only contains a single node id (0.0.6), the conversion is "lossy" in that sense.

I believe this is fixed on master now.


E2E: Fix remove team icon

Summary

Added reset of teams and channels to remove_team_icon_spec; cleaned up comments
Extracted utilResetTeamsAndChannels to its own command; added corresponding d.ts

Ticket Link
NA

@saturninoabril I'll close this PR since it's passing in latest run.


docs(theming-your-components): improve theming your components docs

Fix typos.
Change highlighting from sass to scss.
Fix path to pre-built deeppurple-amber theme.

r: @jelbourn

LGTM, thanks!


Fix to infinite scroll without clicking more button

On the first render, hasNextPage is undefined, but converted to true by the default value.
For intersection observer to trigger correctly without clicking more button, hasNextPage needs type casting.

:tada: This PR is included in version 3.34.13 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.0.0-alpha.10 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


docs/dev-docs/dapps/main

There's a lot of outstanding documentation relating to aztec.js.
See [the doc's placeholder text] for an outline of some of what's needed.
This will likely need to span many pages within the dapps/ dir.

Firstly: break this task down into components @PhilWindle

Closing, as docs are being tracked differently by devrel.


[entropy_src/rtl] fix for halt/start sequence

Timing of setting register bits needed to be coordinated.
Signed-off-by: Mark Branstad<EMAIL_ADDRESS>

would you like me to pull this down and give it a try first? otherwise this lgtm.

whatever is quickest/easier.

let's merge first!


Monitoring Agent for multi location status

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
Other
🔖 Feature description
Sometimes outages are only partial across the internet, to notice that it is useful to set up multiple agents at different locations, each independently executing the same monitoring actions.
✔ Solution
An agent that executes only actual actions and communicates them back to the master.
❓ Alternatives
No response
📝 Additional Context
No response

Right now you could only abuse the proxy function for this, but it would require multiple monitors for the same service and is limited to HTTP only.

@wzrdtales Hi, I was wondering if you have any guidance on how to do this? "Right now you could only abuse the proxy function for this, but it would require multiple monitors for the same service and is limited to HTTP only." I'm not familiar on how that setup would look like. For now, that would be sufficient enough for my environment until https://github.com/louislam/uptime-kuma/issues/84 gets implemented.

@robcarvaj
Have you looked at the push-monitor?
Said monitor should be enough to implement the functionality you are looking for (though not as "simple"/convenient as #84)
For code samples on how to achieve this, please look at https://github.com/louislam/uptime-kuma/tree/master/extra/push-examples


Provide a logrotate configuration in packages

Description
It adds a logrotate configuration to DEB and RPM packages.
Related Issue
Closes https://github.com/sensu/uchiwa/issues/703
Motivation and Context
It prevents the log files from filling up the disk space.
How Has This Been Tested?
Tested on Debian by manually running logrotate with this configuration.
Types of changes

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

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #735   +/-   ##
=======================================
  Coverage   21.54%   21.54%
=======================================
  Files          27       27
  Lines        2882     2882
=======================================
  Hits          621      621
  Misses       2202     2202
  Partials       59       59

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 bf75a58...0398421. Read the comment docs.


Feature request: Command line argument to check external or internal links only

By default markdown link check, checks all links internal and external. It will be helpful if we add a switch that allow check only external links, only internal links.
$ markdown-link-check README.md --internal-only

$ markdown-link-check README.md --external-only

PS: 😃
We do have room for it:
Usage: markdown-link-check [options] [filenameOrUrl]

  Options:
    -p, --progress               show progress bar
    -c, --config [config]        apply a configuration file (JSON)
    -q, --quiet                  display errors only
    -v, --verbose                displays detailed error information
    -h, --help                   output usage information
    -i, --internal-only          check internal links only
    -e, --external-only          check external links only

Got the same need but you can already do it with two different dedicated config files: for example for internal check only:
markdown-link-check --config=internal-only.json
where internal-only.json could be the following:
{     "ignorePatterns": [         {             "pattern": "^https?:\/\/.*"         }     ] }

Internal links could also be excluded using the same pattern strategy but by excluding all link without http/https.
You can use the following pattern:
^(?!http)


__tracy_gpu_new_context_data has private field making it unconstructable

Oddly it seems to have a completely private field which we need to fill to be able to call the function. I'm not sure what caused bindgen to emit this one field as private.
https://docs.rs/tracy-client-sys/latest/tracy_client_sys/struct.___tracy_gpu_new_context_data.html

It seems to be cause by this line https://github.com/nagisa/rust_tracy_client/blob/03bd339c0a05cc3797e085e63fde8d075b9ee8be/make_sys.sh#L37 which I think (looking at generated.rs) is for removing pub from generated type aliases.

A simple fix might be to switch to:
 sed -i 's/pub type /type /g' 'tracy-client-sys/src/generated.rs'

Yeah, the sed post-processing here is to avoid re-exporting
type __uint8_t = ::std::os::raw::c_uchar;

and similar. Happy to take a patch here.


Add support for other database backend

If we want to spawn multiple master for very large tests, we should be able to select other SQL backend, like postgresql or mysql and have pooled connections.
But if we do this we should be able to select a prefix or a name to tests results. In that way we should be able to filter results by test, even if all results are stored in the same database or even in the same sql table.

Best option for this seems to be : http://docs.peewee-orm.com/en/latest/peewee/playhouse.html#connect
Going to try this on the 0.4.6 version

Done with previous PR


pgcli compare to psql?

i use pgcli and psql to access db.
i found pgcli is slow when i post a query,  psql is faster.
"\timing off/on" is not support in pgcli,  it works better on psql
"\h create table" is not support in pgcli,  it works better on psql
"\h XXX XXX " is not support in pgcli?

Not all of the back-slash commands are supported yet. To get a list of supported back-slash commands try ?. That will give you the list of supported back-slash commands.
\timing is interesting, I didn't know about it. But it should be easy to add. So thanks for requesting that.
\h is a much harder command to implement, since it involves copying tons of documentation text into the source code. So that might take a bit longer to implement.
Regarding the speed of execution of a query, they should both be executing the query at the same speed, but the difference might be from building the table of results. It's faster to build a table of data in C compared to Python. So for large tables, it might be noticeably slower.
Can you tell me how large is the result dataset? How many rows and columns?

my query table is 27MB, columns 7 rows 271299  use psql expense 38.530
but pgcli more than 5 seconds

Sorry that's a bit unclear.
Will the results have 271299 rows?
What query did you run? Can you paste the query? (please remove any sensitive information from the query).
Finally you mention psql expense was 38.530, is that in seconds?
I should point out that running the actual query itself will take the same time in both psql and pgcli, but pgcli might take a little bit longer to render the results. I don't know if I made that clear in the previous comment.

select * from table;
sorry ,psql expense 38.53ms
i feel slow in pgcli

Yeah I can believe that.
On a table with 271,299 rows displaying every single row will require reading all the rows into memory and then trying to determine the table cell width. I think that's the problem.
I don't have an easy answer for this one right now. Unless I end up rewriting the table rendering as a C-extension, this will continue being slow.
In an interactive scenario, requesting hundreds of thousands of rows is not a common use case. So I'm tempted to say that this is a low priority item.

With psql, execute the sql "select * from table", no matter the query returns how many rows, it returns the proper rows according to you terminal height,  then you can press "enter" key to view the next.
i think this is good .
that;'s  the reason  why psql is faster than pgcli when query .

just like use page

my english is not very good ,  i wish you cound unserstand my meaning .  :)

Don't worry about english. My native tongue isn't english either. I think I understand what you're saying, correct me if I'm wrong.
Instead of loading all the rows into memory and try to render the table all at once, I should try and load maybe 50 rows at a time and only load more when the next page is requested.
That's an interesting idea. I hadn't thought of that. I'll give it a shot and see if that works.
Thank you for the suggestion.

Version 0.14.0 released to PyPI.
This adds support for \timing and requires you to confirm before rendering a table with more than 1000 rows.
pip install -U pgcli

gets, thanks a lot.
<EMAIL_ADDRESS>From: Amjith Ramanujam
Date: 2015-02-01 07:56
To: amjith/pgcli
CC: jerome-peng
Subject: Re: [pgcli] pgcli compare to psql? (#110)
Version 0.14.0 released to PyPI.
This adds support for \timing and requires you to confirm before rendering a table with more than 1000 rows.
pip install -U pgcli
—
Reply to this email directly or view it on GitHub.


Spec conformance: app ID prefixes, data wrapping (backcompat)

Adds data wrapping as per the new SDK spec, and ensures that fns have their app name prefixed.
Fixes #24

Superseded by #33


t is not defined

Getting t is not defined error in sentry and after checking got to know that point of origin is the packaged used which is @mux/mux-video-react. Please check below screenshot for reference!

Steps of error:

When mux player is loaded
Sentry handles the mentioned error
Error is logged on the sentry with additional details

Thank you for your report.
Sorry you're seeing errors popping up. We will investigate.
Thanks again!!

@Meghal6217 just to make sure, are you using the latest version of mux-video-react? We had some issues recently that at least resembled this that may have been resolved in a recent release.

Thanks @cjpillsbury for the info as the error is not been logged till now after updating mux-video-react to the latest version!


Ruby on Rails capstone project - Budget app

The Budget app is a web app that helps users categorize and manage their transactions for easy expense tracking. Stay organized and gain insights into your spending habits with this very easy-to-use and user-friendly tool.
I have implemented the below in this PR:

[x] Splash screen:

A simple page with the name of your app (yes, you need to choose one), and links to the sign up and log in pages.

[x] Sign up and log in pages

The user should be able to register in the app with full name, email and password (all mandatory).
The user can log into the app using email and password.
If the user is not logged in, they can't access pages that require the user to be logged in (all the pages described below).

[x] Home page (categories page)

When the user logs in, they are presented with the categories page.
For each category, the user can see their name, icon and the total amount of all the transactions that belongs to that category.
When the user clicks (or taps) on a category item, the application navigates to the transactions page for that category.
There is a button "add a new category" at the bottom that brings the user to the page to create a new category.

[x] Transactions page

For a given category, the list of transactions is presented, ordered by the most recent.
At the top of the page the user could see the total amount for the category (sum of all of the amounts of the transactions in that category).
There is a button "add a new transaction" at the bottom that brings the user to the page to create a new transaction.
When the user clicks on the "Back" button (<), the user navigates to the home page.

[x] "Add a new category" page

The user fills out a form to create a new category, indicating their name and icon (both mandatory).
The user clicks (or taps) the "Save" button to create the new category, and is taken to the home page on success.
When the user clicks on the "Back" button (<), the user navigates to the home page.

[x] "Add a new transaction" page

The user fills out a form to create a new transaction with:

name (mandatory)
amount (mandatory)
categories (mandatory at least one)

The user click (or taps) the "Save" button to create the new transaction, and is taken to the transactions page for that category.
When the user clicks on the "Back" button (<), the user navigates to the transactions page for that category.

[x] Create unit and integration tests for all the most important components of your RoR application.

Hi @VICTOR-CHUKWU
Thanks for approval :)


Add Table of Contents

Readme file is large, so navigation may be quite compilated.
Table of contents improves navigation but adds a little work when the content is changed.
Table of Contents was generated with http://doctoc.herokuapp.com/

merged. but it is not done.