Updating array inside FormGroupState in reducer

As per title assume I have this reducer:
export class TemplateItemViewModel {
    public foo: string;
    public bar: string:
}

export class TemplateViewModel {
    public name: string;
    public description: string;
    public items: TemplateItemViewModel[];
}

export const initialState = createFormGroupState<TemplateViewModel>(
    'template',
    new TemplateViewModel()
);

export function reducer(state = initialState, action: editTemplateActions.Actions): FormGroupState<TemplateViewModel> {
    const myForm = formGroupReducer(state, action);
    if (myForm !== state) {
        state = { ...state, ...myForm };
    }

    switch (action.type) {

        case editTemplateActions.FETCH_COMPLETE:
            return createFormGroupState<TemplateViewModel>(
                'template',
                action.payload
            );

        case editTemplateActions.ADD_ROLE:
            // ???
            return state;

        default:
            return state;
    }
}

The problem becomes the documentation (https://github.com/MrWolfZ/ngrx-forms/blob/master/docs/FORM_ARRAYS.md) talks about updating a FormArrayState<T> not an array part of FormGroupState<T>.
I've tried using setValue but it triggers ngrx freeze to throw an error.
Do you have any examples? I've read the documentation and the example app, perhaps I'm missing something obvious!
Thanks, Phil

Not sure this is the best approach but I got it working with:
export function createState(model: TemplateViewModel) {
    return createFormGroupState<TemplateViewModel>(
        'template',
        model
    );
}

        case editTemplateActions.ADD_ROLE:
            const newState: TemplateViewModel = { ...state.value, items: [ ...state.value.items, new TemplateRoleViewModel() ] };

            return createState(newState);

I'm guessing it's remaking the entire state tree but it works for now and I can change it later.

So you want to add a new control for a TemplateItemViewModel to the array if the ADD_ROLE action is dispatched? That would look like this (I haven't actually run the code so it may contain compile errors):
// there is really no need to use classes; instead just use interfaces and
// plain objects since the class identity is not guaranteed to be preserved
// inside ngrx-forms (basically the first time the value changes your class
// information is lost since it's properties are copied into a plain object)
export interface TemplateItemViewModel {
  foo: string;
  bar: string:
}

export interface TemplateViewModel {
  name: string;
  description: string;
  items: TemplateItemViewModel[];
}

// initialize your state with all the properties you want in the form, i.e. make
// sure it is fully initialized to prevent issues in your template because controls
// are missing even though your interface states they are always present
export const initialState = createFormGroupState<TemplateViewModel>(
  'template',
  {
    name: '',
    description: '',
    items: [],
  },
);

export function reducer(state = initialState, action: editTemplateActions.Actions) {
  // since this reducer is only reducing the form state and nothing
  // else, there's no need for the inequality check from your example,
  // since that is all handled internally by ngrx-forms already
  state = formGroupReducer(state, action);

  switch (action.type) {

    case editTemplateActions.FETCH_COMPLETE:
      return createFormGroupState<TemplateViewModel>(
        'template',
        action.payload,
      );

    case editTemplateActions.ADD_ROLE:
      // to update a form array inside a group just nest the update function
      // you want to run on the array inside an updateGroup call
      return updateGroup<TemplateViewModel>(state, {
        items: addArrayControl(''),
      });

    default:
      return state;
  }
}

@MrWolfZ thanks for the example, however I get an exception when trying to implement it in my application. I suspects ngrx freeze was to blame but it's not.
isArrayState@webpack-internal:///../../../../ngrx-forms/ngrx/forms.es5.js:352:5
addArrayControl@webpack-internal:///../../../../ngrx-forms/ngrx/forms.es5.js:2423:9
reducer@webpack-internal:///../../../../../src/app/system/cospace-template/reducers/edit.ts:29:108
combination@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:96:52
combination@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:96:52
freeze@webpack-internal:///../../../../ngrx-store-freeze/src/index.js:12:25
exports.localStorageSync/</<@webpack-internal:///../../../../ngrx-store-localstorage/dist/index.js:167:25
computeNextEntry@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:296:21
recomputeStates@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:335:15
liftReducerWith/</<@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:530:26
StoreDevtools/liftedStateSubscription<@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:595:33
ScanSubscriber.prototype._tryNext@webpack-internal:///../../../../rxjs/_esm5/operators/scan.js:116:22
ScanSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/operators/scan.js:109:20
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
WithLatestFromSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/operators/withLatestFrom.js:119:17
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
Notification.prototype.observe@webpack-internal:///../../../../rxjs/_esm5/Notification.js:34:41
ObserveOnSubscriber.dispatch@webpack-internal:///../../../../rxjs/_esm5/operators/observeOn.js:101:9
AsyncAction.prototype._execute@webpack-internal:///../../../../rxjs/_esm5/scheduler/AsyncAction.js:122:13
QueueAction.prototype.execute@webpack-internal:///../../../../rxjs/_esm5/scheduler/QueueAction.js:39:13
AsyncScheduler.prototype.flush@webpack-internal:///../../../../rxjs/_esm5/scheduler/AsyncScheduler.js:40:25
QueueAction.prototype.schedule@webpack-internal:///../../../../rxjs/_esm5/scheduler/QueueAction.js:33:9
Scheduler.prototype.schedule@webpack-internal:///../../../../rxjs/_esm5/Scheduler.js:47:16
ObserveOnSubscriber.prototype.scheduleMessage@webpack-internal:///../../../../rxjs/_esm5/operators/observeOn.js:105:18
ObserveOnSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/operators/observeOn.js:108:9
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
MergeMapSubscriber.prototype.notifyNext@webpack-internal:///../../../../rxjs/_esm5/operators/mergeMap.js:156:13
InnerSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/InnerSubscriber.js:27:9
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
MapSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/operators/map.js:88:9
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
MergeMapSubscriber.prototype.notifyNext@webpack-internal:///../../../../rxjs/_esm5/operators/mergeMap.js:156:13
InnerSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/InnerSubscriber.js:27:9
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
SkipSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/operators/skip.js:49:13
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
Subject.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subject.js:65:17
BehaviorSubject.prototype.next@webpack-internal:///../../../../rxjs/_esm5/BehaviorSubject.js:49:9
ActionsSubject.prototype.next@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:176:9
Store.prototype.dispatch@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:452:9
EditComponent.prototype.addRole@webpack-internal:///../../../../../src/app/system/cospace-template/components/edit/edit.component.ts:71:9
View_EditComponent_3/<@ng:///CospaceTemplateModule/EditComponent.ngfactory.js:74:23
handleEvent@webpack-internal:///../../../core/esm5/core.js:13451:132
callWithDebugContext@webpack-internal:///../../../core/esm5/core.js:14936:39
debugHandleEvent@webpack-internal:///../../../core/esm5/core.js:14523:12
dispatchEvent@webpack-internal:///../../../core/esm5/core.js:9900:16
renderEventHandlerClosure/<@webpack-internal:///../../../core/esm5/core.js:10514:38
decoratePreventDefault/<@webpack-internal:///../../../platform-browser/esm5/platform-browser.js:2665:53
ZoneDelegate.prototype.invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:425:17
onInvokeTask@webpack-internal:///../../../core/esm5/core.js:4816:24
ZoneDelegate.prototype.invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:424:17
Zone.prototype.runTask@webpack-internal:///../../../../zone.js/dist/zone.js:192:28
ZoneTask.invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:499:24
invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:1540:9
globalZoneAwareCallback@webpack-internal:///../../../../zone.js/dist/zone.js:1566:17

The error seems to only contain the stack trace, not the actual error message. Could you please post the full error?
However, I noticed an error in my example. It should be addArrayControl({ foo: ‘’, bar: ‘’ }) instead of addArrayControl(‘’). Maybe that already solves the issue.
From: Phil Jones
Sent: Wednesday, November 22, 2017 11:05 AM
To: MrWolfZ/ngrx-forms
Cc: Jonathan Ziller; Mention
Subject: Re: [MrWolfZ/ngrx-forms] Updating array inside FormGroupState inreducer (#17)
@MrWolfZ thanks for the example, however I get an exception when trying to implement it in my application. I suspects ngrx freeze was to blame but it's not.
isArrayState@webpack-internal:///../../../../ngrx-forms/ngrx/forms.es5.js:352:5
addArrayControl@webpack-internal:///../../../../ngrx-forms/ngrx/forms.es5.js:2423:9
reducer@webpack-internal:///../../../../../src/app/system/cospace-template/reducers/edit.ts:29:108
combination@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:96:52
combination@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:96:52
freeze@webpack-internal:///../../../../ngrx-store-freeze/src/index.js:12:25
exports.localStorageSync/</<@webpack-internal:///../../../../ngrx-store-localstorage/dist/index.js:167:25
computeNextEntry@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:296:21
recomputeStates@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:335:15
liftReducerWith/</<@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:530:26
StoreDevtools/liftedStateSubscription<@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:595:33
ScanSubscriber.prototype._tryNext@webpack-internal:///../../../../rxjs/_esm5/operators/scan.js:116:22
ScanSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/operators/scan.js:109:20
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
WithLatestFromSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/operators/withLatestFrom.js:119:17
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
Notification.prototype.observe@webpack-internal:///../../../../rxjs/_esm5/Notification.js:34:41
ObserveOnSubscriber.dispatch@webpack-internal:///../../../../rxjs/_esm5/operators/observeOn.js:101:9
AsyncAction.prototype._execute@webpack-internal:///../../../../rxjs/_esm5/scheduler/AsyncAction.js:122:13
QueueAction.prototype.execute@webpack-internal:///../../../../rxjs/_esm5/scheduler/QueueAction.js:39:13
AsyncScheduler.prototype.flush@webpack-internal:///../../../../rxjs/_esm5/scheduler/AsyncScheduler.js:40:25
QueueAction.prototype.schedule@webpack-internal:///../../../../rxjs/_esm5/scheduler/QueueAction.js:33:9
Scheduler.prototype.schedule@webpack-internal:///../../../../rxjs/_esm5/Scheduler.js:47:16
ObserveOnSubscriber.prototype.scheduleMessage@webpack-internal:///../../../../rxjs/_esm5/operators/observeOn.js:105:18
ObserveOnSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/operators/observeOn.js:108:9
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
MergeMapSubscriber.prototype.notifyNext@webpack-internal:///../../../../rxjs/_esm5/operators/mergeMap.js:156:13
InnerSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/InnerSubscriber.js:27:9
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
MapSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/operators/map.js:88:9
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
MergeMapSubscriber.prototype.notifyNext@webpack-internal:///../../../../rxjs/_esm5/operators/mergeMap.js:156:13
InnerSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/InnerSubscriber.js:27:9
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
SkipSubscriber.prototype._next@webpack-internal:///../../../../rxjs/_esm5/operators/skip.js:49:13
Subscriber.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
Subject.prototype.next@webpack-internal:///../../../../rxjs/_esm5/Subject.js:65:17
BehaviorSubject.prototype.next@webpack-internal:///../../../../rxjs/_esm5/BehaviorSubject.js:49:9
ActionsSubject.prototype.next@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:176:9
Store.prototype.dispatch@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:452:9
EditComponent.prototype.addRole@webpack-internal:///../../../../../src/app/system/cospace-template/components/edit/edit.component.ts:71:9
View_EditComponent_3/<@ng:///CospaceTemplateModule/EditComponent.ngfactory.js:74:23
handleEvent@webpack-internal:///../../../core/esm5/core.js:13451:132
callWithDebugContext@webpack-internal:///../../../core/esm5/core.js:14936:39
debugHandleEvent@webpack-internal:///../../../core/esm5/core.js:14523:12
dispatchEvent@webpack-internal:///../../../core/esm5/core.js:9900:16
renderEventHandlerClosure/<@webpack-internal:///../../../core/esm5/core.js:10514:38
decoratePreventDefault/<@webpack-internal:///../../../platform-browser/esm5/platform-browser.js:2665:53
ZoneDelegate.prototype.invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:425:17
onInvokeTask@webpack-internal:///../../../core/esm5/core.js:4816:24
ZoneDelegate.prototype.invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:424:17
Zone.prototype.runTask@webpack-internal:///../../../../zone.js/dist/zone.js:192:28
ZoneTask.invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:499:24
invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:1540:9
globalZoneAwareCallback@webpack-internal:///../../../../zone.js/dist/zone.js:1566:17
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

That's not the issue and it's the best trace the Angular CLI + Firefox Quantum devtools give me.
Added some poor mans debugging console.log's to the addArrayControl method:
function addArrayControl(value, indexOrState, index) {
    console.log('addArrayControl', value, indexOrState, index);
...
}

And it seems to be passing the new object in value fine but then undefined for the indexOrState and index.

Yup, that’s a bug indeed. The variable being undefined is actually fine, but there’s a missing “null check”. I looked at my tests and I did indeed forget to test this case (shame on me).
I'll push a fix this evening. Until then you can simply replace the addArrayControl call with
s => addArrayControl({ foo: ‘’, bar: ‘’ }, s, s.value.length)
This manually specifies the index to insert the element into.
Thanks for finding this bug.

Thanks, the workaround works.
Slowly wrapping my head around ngrx-forms. I'm not the best Typescript/Redux dev though :)
Side note: chrome shows a better stack trace (saying isArrayState has an issue with hasOwnProperty on undefined) than the Firefox Quantum dev tools which is disappointing :(

I just released version 2.0.1 that fixes this issue.

Unsubscribe.
On Wed, Nov 22, 2017 at 2:25 AM Jonathan Ziller<EMAIL_ADDRESS>wrote:

The error seems to only contain the stack trace, not the actual error
message. Could you please post the full error?
However, I noticed an error in my example. It should be addArrayControl({
foo: ‘’, bar: ‘’ }) instead of addArrayControl(‘’). Maybe that already
solves the issue.
From: Phil Jones
Sent: Wednesday, November 22, 2017 11:05 AM
To: MrWolfZ/ngrx-forms
Cc: Jonathan Ziller; Mention
Subject: Re: [MrWolfZ/ngrx-forms] Updating array inside FormGroupState
inreducer (#17)
@MrWolfZ thanks for the example, however I get an exception when trying to
implement it in my application. I suspects ngrx freeze was to blame but
it's not.
isArrayState
@webpack-internal:///../../../../ngrx-forms/ngrx/forms.es5.js:352:5
addArrayControl
@webpack-internal:///../../../../ngrx-forms/ngrx/forms.es5.js:2423:9
reducer
@webpack-internal:///../../../../../src/app/system/cospace-template/reducers/edit.ts:29:108
combination
@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:96:52
combination
@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:96:52
freeze
@webpack-internal:///../../../../ngrx-store-freeze/src/index.js:12:25
exports.localStorageSync/</<@webpack-internal:///../../../../ngrx-store-localstorage/dist/index.js:167:25
computeNextEntry
@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:296:21
recomputeStates
@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:335:15
liftReducerWith/</<@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:530:26
StoreDevtools/liftedStateSubscription<@webpack-internal:///../../../../@ngrx/store-devtools/@ngrx/store-devtools.es5.js:595:33
ScanSubscriber.prototype._tryNext
@webpack-internal:///../../../../rxjs/_esm5/operators/scan.js:116:22
ScanSubscriber.prototype._next
@webpack-internal:///../../../../rxjs/_esm5/operators/scan.js:109:20
Subscriber.prototype.next
@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
WithLatestFromSubscriber.prototype._next
@webpack-internal:///../../../../rxjs/_esm5/operators/withLatestFrom.js:119:17
Subscriber.prototype.next
@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
Notification.prototype.observe
@webpack-internal:///../../../../rxjs/_esm5/Notification.js:34:41
ObserveOnSubscriber.dispatch
@webpack-internal:///../../../../rxjs/_esm5/operators/observeOn.js:101:9
AsyncAction.prototype._execute
@webpack-internal:///../../../../rxjs/_esm5/scheduler/AsyncAction.js:122:13
QueueAction.prototype.execute
@webpack-internal:///../../../../rxjs/_esm5/scheduler/QueueAction.js:39:13
AsyncScheduler.prototype.flush
@webpack-internal:///../../../../rxjs/_esm5/scheduler/AsyncScheduler.js:40:25
QueueAction.prototype.schedule
@webpack-internal:///../../../../rxjs/_esm5/scheduler/QueueAction.js:33:9
Scheduler.prototype.schedule
@webpack-internal:///../../../../rxjs/_esm5/Scheduler.js:47:16
ObserveOnSubscriber.prototype.scheduleMessage
@webpack-internal:///../../../../rxjs/_esm5/operators/observeOn.js:105:18
ObserveOnSubscriber.prototype._next
@webpack-internal:///../../../../rxjs/_esm5/operators/observeOn.js:108:9
Subscriber.prototype.next
@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
MergeMapSubscriber.prototype.notifyNext
@webpack-internal:///../../../../rxjs/_esm5/operators/mergeMap.js:156:13
InnerSubscriber.prototype._next
@webpack-internal:///../../../../rxjs/_esm5/InnerSubscriber.js:27:9
Subscriber.prototype.next
@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
MapSubscriber.prototype._next
@webpack-internal:///../../../../rxjs/_esm5/operators/map.js:88:9
Subscriber.prototype.next
@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
MergeMapSubscriber.prototype.notifyNext
@webpack-internal:///../../../../rxjs/_esm5/operators/mergeMap.js:156:13
InnerSubscriber.prototype._next
@webpack-internal:///../../../../rxjs/_esm5/InnerSubscriber.js:27:9
Subscriber.prototype.next
@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
SkipSubscriber.prototype._next
@webpack-internal:///../../../../rxjs/_esm5/operators/skip.js:49:13
Subscriber.prototype.next
@webpack-internal:///../../../../rxjs/_esm5/Subscriber.js:96:13
Subject.prototype.next
@webpack-internal:///../../../../rxjs/_esm5/Subject.js:65:17
BehaviorSubject.prototype.next
@webpack-internal:///../../../../rxjs/_esm5/BehaviorSubject.js:49:9
ActionsSubject.prototype.next
@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:176:9
Store.prototype.dispatch
@webpack-internal:///../../../../@ngrx/store/@ngrx/store.es5.js:452:9
EditComponent.prototype.addRole
@webpack-internal:///../../../../../src/app/system/cospace-template/components/edit/edit.component.ts:71:9
View_EditComponent_3/<@ng:///CospaceTemplateModule/EditComponent.ngfactory.js:74:23
handleEvent@webpack-internal:///../../../core/esm5/core.js:13451:132
callWithDebugContext
@webpack-internal:///../../../core/esm5/core.js:14936:39
debugHandleEvent@webpack-internal:///../../../core/esm5/core.js:14523:12
dispatchEvent@webpack-internal:///../../../core/esm5/core.js:9900:16
renderEventHandlerClosure/<@webpack-internal:///../../../core/esm5/core.js:10514:38
decoratePreventDefault/<@webpack-internal:///../../../platform-browser/esm5/platform-browser.js:2665:53
ZoneDelegate.prototype.invokeTask
@webpack-internal:///../../../../zone.js/dist/zone.js:425:17
onInvokeTask@webpack-internal:///../../../core/esm5/core.js:4816:24
ZoneDelegate.prototype.invokeTask
@webpack-internal:///../../../../zone.js/dist/zone.js:424:17
Zone.prototype.runTask
@webpack-internal:///../../../../zone.js/dist/zone.js:192:28
ZoneTask.invokeTask
@webpack-internal:///../../../../zone.js/dist/zone.js:499:24
invokeTask@webpack-internal:///../../../../zone.js/dist/zone.js:1540:9
globalZoneAwareCallback
@webpack-internal:///../../../../zone.js/dist/zone.js:1566:17
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MrWolfZ/ngrx-forms/issues/17#issuecomment-346308027,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAC3sOMXz2gXCQvIZu1HuYxbm2aTbNMDks5s4_aGgaJpZM4Qlv2f
.


local/train_audiosearch.py

Train Accuracy in 1000s and test accuracy a little more than 100%

@saikrishnarallabandi

This line seems strange:
accuracy = 100 * correct_train / (len(train_loader) * search.shape[0])
The last batch will always have less number of examples and hence search.shape[0] will be a wrong thing to use here.
May be try using classificaton_accuracy from sklearn

closing this @kinjaljain
reopen if persists


Create a new Bonner Admin Page

Create a new page for the Admin that allows them to:

add/remove Bonner students
Show them all upcoming Bonner events
Show them all current Bonner students broken down by the Bonner cohort

Sub-issue of #603

 Create a Bonner Admin page


CacheController "No cache components" when cache component is CacheInterface itself

What steps will reproduce the problem?
I've got the following configuration of cache driver:
return [
    'components' => [
        'cache' => yii\caching\CacheInterface::class,
        // other components
    ],
    'container'  => [
        'singletons' => [
            yii\caching\CacheInterface::class => [
                'class' => yii\redis\Cache::class,
                // settings
            ],
        ]
    ]
];

run command yii cache
What is the expected result?
The following caches were found in the system:

	* cache (yii\caching\CacheInterface)

What do you get instead?
No cache components were found in the system.

Additional info

Q
A

Yii version
<IP_ADDRESS>

PHP version
7.2

Operating system
Any

@samdark. Hi, it seems such a configuration works fine at container/components level, and we are using it in production with no other problems so far. The problem is in console/controllers/CacheController.php:
https://github.com/yiisoft/yii2/blob/70b78270acf8e4c4d664887457fca25de444f31f/framework/console/controllers/CacheController.php#L293
It may be patched only there somehow. Naive patch is:
return is_subclass_of($className, 'yii\caching\CacheInterface') || $className == CacheInterface::class

Ah. If that's so then feel free to do a pull request. I'll merge it.


⚠ Bofrost.be has degraded performance

In 9c45d51, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 3069 ms

Resolved: Bofrost.be performance has improved in 052eceb.


🩹  (notion) Slug.Preview updated to account for UTC [b]

Notion API (probably rightfully) changed to have root request be UTC instead of the User's Timezone who is making the request. Which is cool (but from what I can tell is not documented) so all the dynamic dates were wrong for events and as a result fully-qualified URLs (nice).
Update on the Notion side is to move Slug.Preview to Slug.Preview.UTC and in its stead ensure Slug.Preview is currently US Eastern based. 😑
Slug.Preview
join(["", "events", formatDate(dateSubtract(prop("Date"),1,"days"), "YYYY"), formatDate(dateSubtract(prop("Date"),1,"days"), "MM"), formatDate(dateSubtract(prop("Date"),1,"days"), "DD"), prop("Slug")], "/")

Slug.Preview.UTC
join(["", "events", formatDate(prop("Date"), "YYYY"), formatDate(prop("Date"), "MM"), formatDate(prop("Date"), "DD"), prop("Slug")], "/")

Also update shows for January 2025 as I have been slacking on my macking for some calendar updates. Been doing one-off shows here and there not always worth mentioning based on it mostly being experimental (even for me).

This pull request has been deployed to Vercel.

Latest commit:
1eb01bf

✅ Preview:
https://jeromefitzgerald-jysl3tn7l-j-e-r-o-m-e.vercel.app

🔍 Inspect:
https://vercel.com/j-e-r-o-m-e/jeromefitzgerald/4bWCWTJFh4PaRYtCZZ5dwqJeHdNW

View Workflow Logs

This pull request has been deployed to Vercel.

Latest commit:
504b503

✅ Preview:
https://jeromefitzgerald-n2d0lc05w-j-e-r-o-m-e.vercel.app

🔍 Inspect:
https://vercel.com/j-e-r-o-m-e/jeromefitzgerald/DoGpAL8jLeZPxFRWRcZ83x5MpNyP

View Workflow Logs


DateTime Offset cannot display properly in datetime input fields

Either parse the DateTimeOffset on frontend correctly to store in datetime field or move to some ofther datetime format on backend.

Fixed in #146


pdf version of webpage

It would be superb to have a one-file pdf version of this wonderful documentation.

We now generate a one-file PDF with every change. I will add a link to it from the side navigation bar in a subsequent commit.


NumPy float format serialization issues

To be clear, what follows is arguably user error, but more graceful failure would have saved me some time (and I'm getting different behavior on different environments, which didn't help).
I made the mistake of populating an annotation with np.float32 values. You can too with the following (note that this isn't what I did, but is functionally equivalent).
>>> ann = jams.Annotation(namespace='tag_open', time=0, duration=2.0)
>>> data = np.array([[1.0, 1.0, 0.5]], dtype=np.float32)
>>> for time, duration, conf in data:
    ann.data.add_observation(
            time=time, duration=duration, value='foo',
            confidence=conf)

Cool, no obvious problems yet.
# I look mostly fine.
>>> print(ann.__json__)

{'data': [{'duration': 1.0, 'confidence': 0.5, 'value': 'foo', 'time': 1.0}], 'duration': 2.0,
 'annotation_metadata': {'version': '', 'corpus': '', 'annotator': {}, 'annotation_rules': '',
 'annotation_tools': '', 'data_source': '', 'curator': {'name': '', 'email': ''}, 'validation': ''},
 'namespace': 'tag_open', 'sandbox': {}, 'time': 0}

However, these are (silently) np.float32s, though they don't quite look it (other numbers that don't have the same representation in single / double precision floats have a better tell), and generally won't in tracebacks.
# I fail :o(
>>> jam = jams.JAMS(annotations=[ann]).save("deleteme.jams", strict=False)

<snip json traceback>
TypeError: 0.5 is not JSON serializable

I'm wondering if the API could help cast non-standard numerical types here? perhaps as a converter dict like in pandas? or perhaps just over data arrays? If default, we'd also want to warn on the casting behavior.
Or, at the bare minimum, it'd be helpful to throw a more informative warning like "hey you have nonserializable types! they are X and they're in field Y. Go back and look at what you're putting in the data structure"
thoughts?

I suppose this could also potentially be covered in the add_observation method of the annotation, which could have a strict_dtypes=True parameter...?

We try to do some auto-casting through the serialize_obj helper function, but it's not comprehensive.  Maybe there's some better way to do serialization callbacks?

hmmm, interesting ... I'm going to get what I was actually working on before stepping in this up and running, and then will take a peak at the method you mention, see if I can't suggest something.

For the problem you described above: would it suffice to force-cast time and duration fields to float upon construction of an Observation object?
It doesn't solve the more general problem, but I'm not sure the more general problem has a good solution.

Oh weird.  It looks like if you drop the dtype=np.float32, everything works properly.  Apparently float64 is json serializable, but float32 is not.

I guess we might have to roll back to the old days and implement our own json serialization mixin class, ala https://stackoverflow.com/questions/27050108/convert-numpy-type-to-python


Bug: yeoman won't finish generation because .gitignore is missing

When I tried to generate a module I got the following error:
AssertionError [ERR_ASSERTION]: Trying to copy from a source that does not exist: .../node/v8.8.1/lib/node_modules/generator-dodevops-typescript/generators/app/templates/static/.gitignore
I just created an empty .gitignore file to get the generator to work, but thought it would be better to report the bug. Thanks! :)

Yes, thanks for the report. Very strange. I guess, npm doesn't publish .gitignore files. I'll change the workflow there.


make.bash: drop bash as a build dependency

The bash build scripts can be rewritten in terms of pure POSIX sh, simplifying the bootstrap development environment.

Would this solve any actual problem?

In practice we can only do this if there is some way to write a test to ensure that we never regress back to using bash-isms.  I don't know how to write such a test but perhaps there is some way.
(I also agree that I don't see why this is a problem in practice.)

This can be checked easily using shellcheck https://github.com/koalaman/shellcheck, or chechbashisms https://linux.die.net/man/1/checkbashisms. The former has the additional benefit of detecting common errors in the shell script.

If the OP is referring to, e.g., using the Almquist shell.
ash (Kenneth Almquist's ash shell)
A lightweight (92K) Bourne compatible shell.  Great for machines with
low memory, but does not provide all the extras of shells like bash,
tcsh, and zsh.  Runs most shell scripts compatible with the Bourne
shell.  Note that under Linux, most scripts seem to use at least some
bash-specific syntax.  The Slackware setup scripts are a notable
exception, since ash is the shell used on the install disks.  NetBSD
uses ash as its /bin/sh.

What’s the driver for this? The resource usage of various shells compared to the 1.3gb of ram needed to compile some of the internal packages in the compiler.

While I generally agree that it's nice to be portable, I also don't see why Bash would be a problem today if it hasn't been a problem for the past decade.
There are also a dozen other bash scripts scattered across the repository, such as src/all.bash and src/iostest.bash. Translating all of them would be quite a bit of work and surely introduce a number of bugs, even if we're careful.

https://golang.org/cl/114176
cmd/vet: eliminate use of Perl in tests
The ticket associated with the above had substantive content favourable to pursue that merge.
I suggest closing.

A heads up for others wanting to contribute to this thread; it's very unlikely that the author will actually provide any more information here, see https://github.com/golang/go/issues/41739#issuecomment-703303783. Unless you support this change, it's probably not worth your time to reply.

I actually support this change together with introducing shellcheck, but seeing that this has been working as is for years, and that there are more urgent priorities, I don't mind if this issue is postponed or closed  either.

Just had my first experience with Go, which was nice. The one thing that surprised me a little bit was that bash was required to build. On OpenBSD the standard shell is a hardened ksh. bash is avoided everywhere in base so I had to install that, no biggie, but the question I would phrase in the spirit of portability and reducing dependencies is "why require more if technically all you need is POSIX shell"? I'm wondering if such a change would be desirable, aside from the question who's going to make it happen.

I don't think the suggested change is very important but I think it would be fine if someone wants to work on it and has some way to prevent backsliding.  (I don't think the packages mentioned above are going to be useful in that regard--we certainly don't want the Go build to depend on them: that would be worse than depending on bash.  But if someone can come up with a workable approach, great.)

Patch that allows building go without bash - https://github.com/kisslinux/community/blob/d99595e575a471698032dbad0cd2c9977d6b0c79/community/go/patches/posix-build.patch . As you see, there is no huge dependency on bash and everything can be implemented in POSIX shell

Thanks.  Now, how do we prevent backsliding?

Perhaps a test runner that runs shellcheck or checkbashisms? This is more
of a test, and less a build requirement.
Op wo 14 okt. 2020 20:29 schreef Ian Lance Taylor<EMAIL_ADDRESS>
:

Thanks. Now, how do we prevent backsliding?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/41698#issuecomment-708582343, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAARM6PDQCMVBUXIPKAJQL3SKXUYDANCNFSM4R6FPBSQ
.

Thanks. Now, how do we prevent backsliding?

One CI/CD host that isn't Linux

Note that some shells implement common bashisms; dash implements == in test(iirc), for instance.

I think this is a good idea - I am will to support this if someone I willing to merge it. I have Shell experience:
https://stackoverflow.com/users/1002260

FWIW, I've started a separate discussion to get some feedback from a community I'm familiar with, in order to prevent being a loud and chatty newbie overhere before getting to the point. ;-) For anyone interested: https://lobste.rs/s/lzc7ac/make_bash_drop_bash_as_build_dependency

Duplicate of #3235


Update default config to match new highest level

Boilerplate wasn't really applicable. The new highest level in PHPStan is 9, this change reflects that in the documentation where it was previously stated that the max level was 8.

Thank you Félix!


[kmac] Expose the number and size of message FIFO entries.

This change arose from a conversation with @eunchan about the KMAC message FIFO. Existing documentation recommended that software write messages by:

Reading the FIFO_DEPTH field from the status register.
Calculating the remaining space in the FIFO and writing that amount of input.
Repeat.

However, it was unclear from the documentation (a) what exactly FIFO_DEPTH meant (bytes? words? Space free or space occupied?) and (b) how software should calculate the remaining space. With @eunchan , we confirmed that FIFO_DEPTH means "the number of entries currently occupied", and therefore software actually needs more information in order to calculate the remaining space -- the number of entries occupied is not useful unless you also know the number of total entries (10) and their size (64b). Rather than hard-code these into the drivers, we thought it would be better to expose them through kmac_regs.h and include checks against SV parameters to make sure their values are correct.
This PR:

Exposes FIFO entry number and size as parameters in kmac.hjson
Adds checks that compare these parameters to specific SV variables
Changes the depth value noted in the docs from 9 to 10 (it was previously incorrect)
Updates the KMAC docs to be clearer about FIFO_DEPTH and include a code snippet showing how to write input
Updates dif_kmac_absorb() to use the new parameters and match the recommended way of writing

Previously, it did not monitor the FIFO at all and would have simply continued writing if the FIFO became full

See also: https://github.com/lowRISC/opentitan/issues/16902 (possibilities for a future KMAC/software interface)
@ballifatih It may be a good idea to use these values in the cryptolib KMAC driver as well; what do you think?

@eunchan do you think it would be simpler if we just made the fifo interface back pressure?
It is true in the worst case this could lock-up, but we also have different watchdog related recovery mechanisms that can let us discover that.

@eunchan do you think it would be simpler if we just made the fifo interface back pressure? It is true in the worst case this could lock-up, but we also have different watchdog related recovery mechanisms that can let us discover that.
Or are you worried that there are cases that might cause problems?

I think current KMAC does allow back-pressure the fabric. It drops the request only when the KMAC is not in the absorb stage. @cindychip please correct me if I am wrong.
The worst scenario I think of is :

FIFO is full, SW keeps writing data into the MsgFIFO. KMAC locked up
KMAC is requesting entropy. SW didn't set the expired timer for EDN wait timer.
Somehow EDN could not send an entropy to KMAC.

Then, it causes a real dead lock. Unless all three criteria are met, no deadlock will occur in my opinion.

ooo wait, i'm confused then. If we have that kind of back pressuring, does the software even really need to know how much it can write? Sorry let me know if i completely misunderstood something.

ooo wait, i'm confused then. If we have that kind of back pressuring, does the software even really need to know how much it can write? Sorry let me know if i completely misunderstood something.

In normal case, the fabric would not be locked up. KMAC consumes data quite faster than SW writes. But the case above, may cause issues. Deadlock may occur in a rare case. It is safe to write only the available amount of data.

ooo wait, i'm confused then. If we have that kind of back pressuring, does the software even really need to know how much it can write? Sorry let me know if i completely misunderstood something.

In normal case, the fabric would not be locked up. KMAC consumes data quite faster than SW writes. But the case above, may cause issues. Deadlock may occur in a rare case. It is safe to write only the available amount of data.

I see, so you're saying we do back pressure... and even though most of the time it should be fine, we could still run into scenarios where other factors cause this to lock-up.  That sounds good.

In the case @eunchan  described (no EDN timeout, EDN not responding), I do not see how checking the number of available entries on MSG_FIFO resolves the deadlock. SW will just keeping polling until MSG_FIFO has some available byte slots.
Maybe I do not completely understand the back pressure mechanism, but here is what I imagine:

Suppose MSG_FIFO is full
Further write/store instructions to MSG_FIFO by Ibex will not receive TL-UL acknowledgements
Ibex stalls execution and waits for these ACKs.

yeah that's right, that's the backpressure mechanism i was thinking about.
But if we follow @eunchan suggestion of always checking available entry to program, we won't have a case where the fabric is locked.  The first case leaves an opportunity for that to happen.  It is true we will poll forever on MSG_FIFO, but at least we could be able to come in with a debugger and find out that's where it is stuck.

FIFO is full, SW keeps writing data into the MsgFIFO. KMAC locked up
KMAC is requesting entropy. SW didn't set the expired timer for EDN wait timer.
Somehow EDN could not send an entropy to KMAC.

Then, it causes a real dead lock. Unless all three criteria are met, no deadlock will occur in my opinion.

This is interesting. So in cases where criteria (2) and (3) are not met -- if there's a nonzero value on the EDN wait timer, or if KMAC is configured to use software entropy, or kmac_en is false so we're not requesting new entropy -- then there's no need to poll MSG_FIFO at all because the backpressure mechanism will cause Ibex to just wait until KMAC can accept the write, which is guaranteed to happen at some point because KMAC can't be blocked forever unless it's waiting on EDN?
This could be an important note for certain cases where we care about hashing speed -- saving some repeated polling, especially hardened polling, could really help there.

This is interesting. So in cases where criteria (2) and (3) are not met -- if there's a nonzero value on the EDN wait timer, or if KMAC is configured to use software entropy, or kmac_en is false so we're not requesting new entropy -- then there's no need to poll MSG_FIFO at all because the backpressure mechanism will cause Ibex to just wait until KMAC can accept the write, which is guaranteed to happen at some point because KMAC can't be blocked forever unless it's waiting on EDN?

Yes. Since, in any case, KMAC, at least, consumes the incoming data. It may discard the data if error occurs. The only case KMAC does not proceed is the EDN request.

Yes. Since, in any case, KMAC, at least, consumes the incoming data. It may discard the data if error occurs. The only case KMAC does not proceed is the EDN request.

Good to know! I added another paragraph to the documentation to explain the potential deadlock scenario and when it's safe to skip polling:

The method recommended above is always safe. However, in specific contexts, it may be okay to skip polling STATUS.fifo_depth. Normally, KMAC will process data faster than software can write it, and back pressure on the FIFO interface, should ensure that writes from software will simply block until KMAC can process messages. The only reason for polling, then, is to prevent a specific deadlock scenario:

Software has configured KMAC to wait forever for entropy.
There is a problem with the EDN, so entropy is never coming.
The FIFO is full and KMAC is waiting for entropy to process it.

If either the entropy wait timer is nonzero or kmac_en is false (so KMAC will not be refreshing entropy), it is safe to write to the FIFO without polling STATUS.fifo_depth. However, this should be done carefully, and tests should always cover the scenario in which EDN is locked up.

Please let me know if this description matches your understanding, @eunchan and @tjaychen -- particularly how I describe "back pressure", since it's not a familiar concept to me, and if the parameters for "safe not to poll" are definitely sufficient.

I'd like to merge this soon; if there are issues with that latest documentation paragraph, speak now or request a follow-up PR :slightly_smiling_face: Just don't want the code parts to get out of sync with master.


Ordinals broken

Hi,
I just ran into this project as I recently made a similar one, with the difference that it makes binaries. I checked the source code of this and noticed a bug:
https://github.com/Tylous/FaceDancer/blob/main/exports/src/exports.rs#L13
You expect Goblin's export listing to be actually correct, but that is a mistake — if you read Goblin's source, they actually parse from the names table, so ordinal only exports will be completely missing.

Hey, appreciate you bringing this up, but I have to push back on this claim.
Ordinals only are not as common these days, and just because they're being used doesn't automatically mean there's a bug. What you're seeing is intended behavior, not an issue with the code.  In this case, the intention of this recon module is to generate the required definition file for dlls not already in FaceDancer. It is a starting point not the total sum of a situation as such it is up to the user to them make any modifications to said file to get it to work with ordinal only exports.
In future things like this, are considered an "Enhancement" or "Feature Request" rather then a bug. I will be closing this as it is not a bug.
Have a great day.

So, just that I get it right: Generating a proxy dll with FaceDancer for a dll that is imported by ordinal by the attacked application, rendering the application inoperable is the expected behavior?


escape regex characters that may appear in identifiers, fixes #680

Changes

When searching for forcing files by pattern, escape regex characters that may be in the ID string before making the pattern

TODO

Add test case for scientific notation ID

Checklist

[x] PR has an informative and human-readable title
[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[x] Code follows project standards (link if applicable)
[x] Passes all existing automated tests
[ ] Any change in functionality is tested
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged / future todos are captured in comments
[x] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[x] Reviewers requested with the Reviewers tool :arrow_right:

Target Environment support

[x] Linux
[x] MacOS

Please limit IDs to a set of characters that exclude anything that regex would need escaped, rather than going along this path.
If that means other scripts or data sets need to be fixed up to not emit/contain those characters, we should push that through.

Hydrofabric identifiers are strings and something like cat-7e+05 is a valid divide identifier (it uniquely identifies the divide in a given hydrofabric).  While it may not be consistent, it is valid (noaa-owp/hydrofabric#28).  ngen could enforce more stringent requirements, but it isn't clear why that should be required.  We can definitely expand the list of explicitly escaped characters to the full set of regex special characters:
., +, *, ?, ^, $, (, ), [, ], {, }, |, \.
which would ensure that any string could be pattern matched by the internal regex built in ngen.


Has the white visual filter of pure white latex been removed

The white visual filter that existed in old version is gone.

Is this in the release build or github build?

both of them.

You are likely experiencing a conflict with another mod, the filter is still present in my game.

You are likely experiencing a conflict with another mod, the filter is still present in my game.

I haven't add any mod except Changed.

This works well on old version (0.11.3), but not on latest version.

The visual effect is tied to the distortion effects in the accessibility settings. I suspect you have this setting at 0%.

Please reopen this issue if it persists after you set your distortion effects setting to a value greater than zero.


Replace .gitignore

@calvintam236 Follow up on this: actually I noticed that I am now missing the .idea in .gitignore. Now on every commit I have to check that I don't commit any wrong files...
Actually why don't we just use this: https://github.com/flutter/flutter/blob/master/.gitignore ?

@calvintam236 Follow up on this: actually I noticed that I am now missing the .idea in .gitignore. Now on every commit I have to check that I don't commit any wrong files...
Actually why don't we just use this: https://github.com/flutter/flutter/blob/master/.gitignore ?

Check #21


formatError on ApolloServer not being applied in graphql2rest

If i'm using formatError on ApolloServer I will not get the updated error in graphql2rest but still get the old one. Even though my error is being updated in Graphql

@bobsingor: is this issue resolved? Did you manage to get it to work?


[Question] How to interpret volume level of microphones in camera's?

Hi,
Just updated to 5.1.0, and I see sound levels of the microphones in the camera's available. They're displayed in HA as negative dB's.
What is the reference value? I know 40 dB is a quiet conversation, and 130 dB is a jet fighter taking off, but how can I interpret the negative values?
Thanks again!

I came here with the same question and again I think I am more confused than ever.

The scale is dBFS

The unit displayed in Home Assistant is dB, so that likely should be changed.
To be useful how does this relate to the min_volume rms ?

The unit displayed in Home Assistant is dB, so that likely should be changed.

we can only use units that are provided by home assistant. Regardless, it is a decibel just using a different scale.
Like it shows in the image above the scale is basically just inverse. So -100 relates to 0 on the leftmost scale.
This is the conversion https://github.com/blakeblackshear/frigate/blob/e5595ebb2f5c826a00b2d141d163a5ee964ec4b0/frigate/events/audio.py#L239

This is the conversion

Wait so if raw rms is being used to calculate dBFS, and rms is what the config file uses for min_volume why not provide us with rms instead of dBFS? At the end of the day I don't care what the values unit is, I just need to quickly determine if I need to raise or lower the sensitivity of the sensor and plug into min_volume.

Like it shows in the image above the scale is basically just inverse. So -100 relates to 0 on the leftmost scale.

So can dBFS be mapped / converted to dB if so why not use DB as the end user value? It would make more sense to those that have actual DB meters or use apps on their phones?

why not provide us with rms instead of dBFS?

This is not a unit provided by home assistant sound units.

So can dBFS be mapped / converted to dB if so why not use DB as the end user value? It would make more sense to those that have actual DB meters or use apps on their phones?

Potentially but I'm not sure of the full ramifications or if the units are perfectly comparable.
I expect that the new frigate UI that's currently in progress will provide a better mechanism for tuning audio config so I don't think that's the best use case to steer the home assistant integration towards.


🚀 request help: Add NodePort to the kubectl get computenode results

Request description
Currently it only shows Service's port while executing kubectl get cmputenode xx. Sometimes it may need to expose a NodePort to the Service. So we need to add NodePort to the command line result if the ComputeNode's service type is NodePort.
Environment

your ShardingSphere-Operator Version
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version

I'm working on it. Please assign me.

Thanks @yikuaibro .
FYI, This issue may related the reconciliation logic of ComputeNode controller.

Stale issue. Closed


Wrong YouTube channel downloaded when grabbing geoblocked channel

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.07.05. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2016.07.05

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
# PYTHONPATH=. python3 -m youtube_dl -v 'https://www.youtube.com/user/kananishinoSMEJ/videos'
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'https://www.youtube.com/user/kananishinoSMEJ/videos']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.07.05
[debug] Git HEAD: 4080530
[debug] Python version 3.5.1+ - Linux-4.4.8-std-1-armv7l-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.6-1ubuntu2, ffprobe 2.8.6-1ubuntu2, rtmpdump 2.4
[debug] Proxy map: {}
[youtube:user] kananishinoSMEJ: Downloading channel page
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading webpage
[download] Downloading playlist: Uploads from SQUEEZIE
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading page #1
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading page #2
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading page #3
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading page #4
^C
ERROR: Interrupted by user

# PYTHONPATH=. python3 -m youtube_dl -v 'https://www.youtube.com/user/kananishinoSMEJ'
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'https://www.youtube.com/user/kananishinoSMEJ']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.07.05
[debug] Git HEAD: 4080530
[debug] Python version 3.5.1+ - Linux-4.4.8-std-1-armv7l-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.6-1ubuntu2, ffprobe 2.8.6-1ubuntu2, rtmpdump 2.4
[debug] Proxy map: {}
[youtube:user] kananishinoSMEJ: Downloading channel page
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading webpage
[download] Downloading playlist: Uploads from SQUEEZIE
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading page #1
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading page #2
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading page #3
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading page #4
[youtube:playlist] UUWeg2Pkate69NFdBeuRFTAw: Downloading page #5
^C
ERROR: Interrupted by user

Description of your issue, suggested solution and other information
Some YouTube channels are fully geoblocked, e.g. https://www.youtube.com/user/kananishinoSMEJ is accessible only from Japanese IP blocks.  Downloading that channel with youtube-dl outside of Japan results in youtube-dl grabbing an unrelated channel.
Possibly related to https://github.com/rg3/youtube-dl/issues/5904

It looks like
            channel_playlist_id = self._html_search_meta(
                'channelId', channel_page, 'channel id', default=None)

fails to find anything and it falls back to
            if not channel_playlist_id:
                channel_playlist_id = self._search_regex(
                    r'data-(?:channel-external-|yt)id="([^"]+)"',
                    channel_page, 'channel id', default=None)

and extracts an unrelated channel ID.

Yep. It finds channels under the section "Related channels"

I have an even-more-paranoid version of a fix that involves extracting both <meta itemprop="channelId" and <link rel="alternate" type="application/rss+xml" title="RSS" href="https://www.youtube.com/feeds/videos.xml?channel_id= and making sure they match, would you take a PR with that?

Haven't investigated. The fallback part is exactly a fix for #5904. Maybe @dstftw knows more for why not use the video.xml approach.


Updated hungarian translation

Thanks for the update, I will merge into master, and cut a new apk version of Karma very soon.


IIS: ASP.NET Core Module blocks install when Shared Configuration is used - 2.2.0-preview3 to RTM regression

When we tried to upgrade our 2.2.0-preview3 ASP.NET Core IIS hosting module to 2.2.0 via Puppet, we get an error:

It seems this is a regression from the preview 3 release where it was allowed. This has changed our Puppet deploy from working to inoperable. Disabling and re-enabling Shared Configiuration is non-trivial and a ton more to automate for deploy of this module. My understanding from Twitter is that some configurations broke with this (ours was fine) and so as a result none are allowed.
I'd imagine anyone using Chocolatey to install has the same issue with the scenario, so an extra arg to bypass the check shouldn't be the first solution here. Can we please only check for the error and present this message only if it's a problem?
We had several projects ready to go live on 2.2 and others that are on preview3, so suffice to say this is quite the killer to rollout plans and a real enthusiasm curber - it's currently blocking our rollout of 2.2 at Stack Overflow. We need 2.2 RTM for .exe naming, which affects service deploys and such...since that transition is painful from preview3, we've delayed releases until RTM lands (and now...indefinitely). A fix to this soon would be much appreciated.
To Reproduce
Steps to reproduce the behavior:

Enable shared configuration
Install 2.2.0-preview 3 hosting module
Attempt to install 2.2.0 RTM hosting module

Expected behavior
This should be allowed as it was in 2.2.0-preview3.
cc @DamianEdwards @shirhatti

Solved by #6498


Fix position of catkin_package()

According to http://wiki.ros.org/catkin/CMakeLists.txt#Example, should be located before add_library/add_executable.

This pull fix my issue with catkin build (https://github.com/agilexrobotics/bunker_ros/issues/2). Thank you.


Please invite me to the GitHub Community Organization

Hey, I'm Priyanshi Gupta. Please invite me to the GitHub Community Organisation.
I would like to learn from a strong community of open sources to improve my skills
Thanks!

Invitation sent for the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see, you can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/EddieJaoudeCommunity/people
Tips for practising:
Customise your GitHub profile, here is a live stream on it https://www.youtube.com/watch?v=cT6GXCuS0Zo
Practice repo, instructions on how to add your name to the README in the README https://github.com/EddieJaoudeCommunity/hacktoberfest-practice
Remember contributing to open source is not just about code, its about collaboration, communication and adding value
I hope that helps


In case hdfsBuilderConnect returns nullptr

In case hdfsBuilderConnect returns nullptr
    /**
     * Connect to HDFS using the parameters defined by the builder.
     *
     * The HDFS builder will be freed, whether or not the connection was
     * successful.
     *
     * Every successful call to hdfsBuilderConnect should be matched with a call
     * to hdfsDisconnect, when the hdfsFS is no longer needed.
     *
     * @param bld    The HDFS builder
     * @return       Returns a handle to the filesystem, or NULL on error.
     */
     LIBHDFS_EXTERNAL
     hdfsFS hdfsBuilderConnect(struct hdfsBuilder *bld);

cc @jhseu @mihaimaruseac @vnvo2409

https://github.com/tensorflow/tensorflow/pull/43188#issuecomment-701466229

@byronyi
Can you help review the PR, Thanks!


Need Group Commands

It would be a nice feature if players could travel in groups.
There should be "Group Open" and "Group Close" commands. When a player's group is open, other players can follow that player ("Follow Player"). The player that is the group leader can "Group Disband" to stop followers without closing his/her group. Also, If a player's group is set to open, you can also be dragged ("Drag Player") which puts them in your group.

Groups are an interesting feature with a lot of considerations. Joining groups, max group sizes, auto-follow/leave-behind, automatic loot distribution, group kick/ignore/general troll handling, xp scaling, tanking/aggro for real time combat, rank/file for turn based combat. With that said things that don't exist that would be prerequisites for grouping (with a purpose anyway): following, drops, and loot tables.

Your forgetting the most important reason for grouping. Getting lost. :p


Add-ConditionalFormatting example 5 not working

Add-ConditionalFormatting example 5 not working
I have copied and pasted the Add-ConditionalFormatting example 5 into Microsoft Code. I used help Add-ConditionalFormatting -Examples
>$PSVersionTable.PSVersion.ToString()
5.1.14409.1018

>(Get-Item 'C:\Program Files\Microsoft Office\Office14\excel.exe').VersionInfo | Select-Object -Property productname, fileversion

ProductName           FileVersion
-----------           -----------
Microsoft Office 2010 14.0.7232.5000

>Get-Command -Name Add-ConditionalFormatting

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Add-ConditionalFormatting                          6.2.1      ImportExcel

It runs without error messages, but when Excel tries to open the new workbook, the following message appears.

If I choose "Yes," the spreadsheet does appear, but does not have formatting.

Can't repro
$xlfile = "$env:temp\test43.xlsx"
rm $xlfile -ErrorAction SilentlyContinue

$excel = Get-ChildItem | Select-Object -Property Name,Length,LastWriteTime,CreationTime | Export-Excel $xlfile -PassThru -AutoSize

$ws = $excel.Workbook.Worksheets["Sheet1"]
$ws.Cells["E1"].Value = "SavedAt"
$ws.Cells["F1"].Value = [datetime]::Now
$ws.Cells["F1"].Style.Numberformat.Format = (Expand-NumberFormat -NumberFormat 'Date-Time')
$lastRow = $ws.Dimension.End.Row

Add-ConditionalFormatting -WorkSheet $ws -address "A2:A$Lastrow" -RuleType LessThan    -ConditionValue "A" -ForeGroundColor Gray
Add-ConditionalFormatting -WorkSheet $ws -address "B2:B$Lastrow" -RuleType GreaterThan -ConditionValue  1000000 -NumberFormat '#,###,,.00"M"'
Add-ConditionalFormatting -WorkSheet $ws -address "C2:C$Lastrow" -RuleType GreaterThan -ConditionValue "=INT($F$1-7)"  -ForeGroundColor Green  -StopIfTrue
Add-ConditionalFormatting -WorkSheet $ws -address "D2:D$Lastrow" -RuleType Equal       -ConditionValue "=C2" -ForeGroundColor Blue -StopIfTrue

Close-ExcelPackage -Show $excel

It works on Windows 10 using PowerShell 5.1, 6.2.1, and 7.0.0.
It fails on Windows 7 using PowerShell 5.1 for both ImportExcel 6.2.1 and 6.2.2.

Thanks for the update. Can you open the xlsx created on Win10 on Win7?

Yes, the spreadsheet created on Windows 10 opens as expected on Windows 7.


[SUB-TASK][KPIP-4] Support internal rest request authentication to enable http request redirection across kyuubi instances

Why are the changes needed?

Support internal rest request authentication to enable redirect http request across kyuubi instances
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

Codecov Report

Merging #2719 (6fe8523) into master (45531f0) will increase coverage by 0.07%.
The diff coverage is 85.98%.

@@             Coverage Diff              @@
##             master    #2719      +/-   ##
============================================
+ Coverage     64.82%   64.90%   +0.07%
  Complexity      279      279
============================================
  Files           409      411       +2
  Lines         19661    19734      +73
  Branches       2638     2641       +3
============================================
+ Hits          12745    12808      +63
- Misses         5706     5715       +9
- Partials       1210     1211       +1

Impacted Files
Coverage Δ

...authentication/AuthenticationProviderFactory.scala
68.00% <0.00%> (ø)

...ation/EngineSecureAuthenticationProviderImpl.scala
0.00% <0.00%> (ø)

...e/authentication/KyuubiAuthenticationFactory.scala
82.75% <0.00%> (ø)

...on/ZooKeeperEngineSecuritySecretProviderImpl.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...tication/KyuubiInternalAuthenticationHandler.scala
70.00% <70.00%> (ø)

.../ZooKeeperInternalSecuritySecretProviderImpl.scala
87.50% <87.50%> (ø)

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
96.87% <100.00%> (+0.12%)
:arrow_up:

...vice/authentication/InternalSecurityAccessor.scala
92.00% <100.00%> (ø)

...uthentication/InternalSecuritySecretProvider.scala
100.00% <100.00%> (ø)

...la/org/apache/kyuubi/ha/HighAvailabilityConf.scala
99.03% <100.00%> (+0.05%)
:arrow_up:

... and 10 more

Continue to review full report at Codecov.

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

thanks, merged to master


fix typo index.md

Hi @franperic, thanks for the PR! Can you update also the README.md in the root directory?

Hey @gabrielmbmb, great catch! I fixed the typo in the README.md as well.


Play application plugin: Custom task type should live in plugin

Move the custom task type (PlayRun) into external plugin implementation
Instantiates the local custom task type instead of the one in Gradle core
Make potential changes to implementation to enable lazy evaluation (Provider types)

Implementation:

https://github.com/gradle/play/blob/master/src/main/java/com/lightbend/play/tasks/PlayRun.java


added jgrasp v2.0.0_14

I added jgrasp version 2.0.0_14, but since the download from the project's website requires a browser, I am using a mirror.

but since the download from the project's website requires a browser

Why?

I took your advice and I was able to find the download link, which was obscured by a redirect.
I think with this updated formula a rename is no longer necessary.

It’s missing uninstall. There are scripts and documentation geared for that.
Also, please squash your commits.

Thank you for the contribution. It was merged directly as 7a04097efd60e6cb7a01c828d17b2b76bace8ec4 to keep commit history cleaner. Your contribution is still credited to you.

Thanks for all the help and guidance!


Multi lang support

Hello,
I'm trying to resolve this issue https://github.com/cognitive-engineering-lab/mdbook-quiz/issues/25
I was able to generate the example, and it is working, but even from the main branch I was not able to run the tests, at least I can't figure out how to do it.

Thanks for the contribution! I would like mdbook-quiz to support syntax highlighting for multiple languages. However, the issue with the current PR is that it increases the bundle size by 50%, from ~2MB to ~3MB. I specifically avoided doing this:
import hljs from "highlight.js";

Because that includes by default every language, which is a lot of code. I think the best way to support multiple languages without bloating the bundle would be the following:

User provides a list of languages they want to include in the bundle as an environment variable. For example:
MDBOOK_QUIZ_LANGS="rust,cpp" cargo install mdbook-quiz

The snippet.tsx script imports a fake script like:
import "highlightjs-languages";

An esbuild plugin for the quiz package provides a dynamically-generated source for this fake file based on the compile-time environment variable:
build.onResolve({filter: /^highlightjs-languages$/ }, args => ({ path: args.path, namespace: "highlightjs-languages" })
build.onLoad({filter: /.*/, namespace: "highlightjs-languages"}, () => {
  let contents = buildScript(process.env.MDBOOK_QUIZ_LANGS);
  return {contents};
});

I would accept a version of this PR that adopts this or a comparable strategy.

Hello @willcrichton , thanks for the feedback, I'll work on that ^^
I have some questions:
As mdbook supports some languages by default, would be better to support the same languages by default too?
https://rust-lang.github.io/mdBook/format/theme/syntax-highlighting.html?highlight=syntax he#syntax-highlighting
As mdbook already uses Highlight.js do you think there is a way to use the same instance instead of importing it again in this library?

Yes, it would be fine to use the mdBook highlight.js library. However, it's important that the quiz package does not rely on the existence of window.highlightjs, since that package is used in other places beyond just mdbook-quiz. I am fine with a solution that does not bundle highlight.js into quiz, and then has quiz-embed carefully provide the global highlight.js to quiz.


SNMPv3 support

Hi,
Can I please know whether SNMPv3 will be available soon?
mathew

Thanks for the feedback.  I wrote this a while back and I suppose v3 support should be added.  I'm not sure how soon I'll have some free time to work on that.  I'll try to get around to it in the next few weeks.


MWPW-160229 Adding timeout to finalize API request

Adding timeout to finalize API request and including status code when dispatching errors associated with timeouts.
Resolves: MWPW-160229
Test URLs:
Before: https://stage--dc--adobecom.hlx.page/acrobat/online/test/sign-pdf?unitylibs=stage
After: https://stage--dc--adobecom.hlx.page/acrobat/online/test/sign-pdf?unitylibs=MWPW-160229

@sigadamvenkata - can we test this before merging? Thanks!

tried getting 500 error with large file upload with 4g network and received 500 error from ACP service 'finalize' call. one service return 500 , user has been redirected to home page and showed 'unable to process request' message.  PFA
Test URL : https://stage--dc--adobecom.hlx.page/acrobat/online/test/sign-pdf?unitylibs=MWPW-160229

@narcis-radu @aishwaryamathuria @sanjayms01


1.3 fails to show installed modules

Been in love with this tool and its honestly a masterpiece.
One issue with the new version 1.3 ...
When I updated from 1.2 to 1.3 I lost the ability to view my installed modules.

I have remedied this by staying at 1.2 but would like to hop on 1.3 due to the TLS jawn.

Thank you for your kind words!
So in 1.3 I changed the location of the modules. The directory has previously been located in the root directory of this repository. It's now in $XDG_DATA_HOME/powerhub, or ~/.local/share/powerhub by default. You can simple move your module directory there. Hope that helps.
I documented this change in the changelog, but I understand that I could have been clearer about this breaking change.

I assume you figured it out


Broken binding TreeView GetPathAtPos()

returned path and column are always nil.
double pointer needed for parameters of type TreePath and TreeViewColumn!
bugfix via pull request  #433

pull request was merged, will close issue


Include parameters in README

Hi @mvehar i'd need more details to understand what you're asking for... What do you mean by parameters? atm the only one available is the packageName one, are you referring to those?
Thanks!

Hi @emilianozublena,
first I apologise for missing description.
We would like to specify custom namespaces for models and controllers. If such parameters will be added, can you list them somewhere.
Thanks!

You shouldn't be doing that, customizing your "base" namespace is all you need, all the other underlying folders have their own namespaces. eg: If you specify a packageName parameter as "MyAsyncLibrary" all messages will have the MyAsyncLibrary/Messages namespace, all applications will have the MyAsyncLibrary/Applications namespace and so on.
There are no controllers nor models in this template.
Does this makes sense to you?


Add Tailcall

Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project closed source or, if it is open source, does your project have at least 250 GitHub stars?
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[x] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[x] ~10 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

fixes https://github.com/tailcallhq/tailcall/issues/2750
/claim https://github.com/tailcallhq/tailcall/issues/2750

Updated preview with logo clearly states the name of the project

cc: @tusharmath

LGTM!

LGTM

@jorydotcom is there anything pending here?

Thanks for stopping by and saying hello IRL today @varshith257!

I was me @jorydotcom 😀

Haha oops nice to meet you @tusharmath 🎉🎉


Uncaught TypeError: Cannot set property 'd' of null

I'm trying to run almost the same code as in examples but it doesn't work.
I can render chart but on mouse move over it I'm getting this error Uncaught TypeError: Cannot set property 'd' of null instead of  tooltip.
and Uncaught TypeError: Cannot set property target of #<Event> which has only a getter on change of range in the bottom
webpack config:

var path = require('path');
var webpack = require('webpack');

var config = {
  cache: true,
  debug: true,
  devtool: 'source-map',
  entry: {
    index: './js/index.js'
  },
  resolve: {
    alias: {
      "highcharts" : "highcharts-release/highcharts.src.js",
      "react-highcharts": 'react-highcharts/dist'
    },
    modulesDirectories: ['node_modules']
  },
  output: {
    path: 'js/dist/',
    filename: '[name].js',
    publicPath: '/'
  },
  module: {
    loaders: [
      { test: /\.jsx?$/, loaders: ["babel"]}
    ]
  }
};

module.exports = config;

index.js
var React = require('react');
var ReactDOM = require('react-dom');

global.Highcharts = require("highstock-release");
var ReactHighstock = require('react-highcharts/highstock');

var data = [
  [1220832000000, 22.56], ... data from example... [1229299200000, 13.54]
];

var config = {
  rangeSelector : {
    selected : 1
  },
  title : {
    text : 'AAPL Stock Price'
  },
  series : [{
    name : 'AAPL',
    data : data,
    tooltip: {
      valueDecimals: 2
    }
  }]
};

ReactDOM.render(
  <ReactHighstock config={config}></ReactHighstock>,
  document.getElementById('chart')
);

dependencies:
  "dependencies": {
    "babel-core": "^5.8.22",
    "babel-loader": "^5.3.2",
    "exports-loader": "^0.6.2",
    "file-loader": "^0.8.4",
    "highlight.js": "^8.5.0",
    "imports-loader": "^0.6.4",
    "jsdom": "^6.3.0",
    "mocha": "^2.3.0",
    "raw-loader": "^0.5.1",
    "react": "~0.14",
    "react-addons-test-utils": "^0.14.0",
    "react-dom": "~0.14",
    "react-highlight": "^0.6.1",
    "webpack": "^1.5.3",
    "webpack-dev-server": "^1.10.1",
    "highcharts-release": "^4.2.0",
    "highmaps-release": "^4.2.0",
    "highstock-release": "^4.2.0",
    "react-highcharts": "^6.0.0"
  },

Hi Sergey,
I'v just pushed v6.0.1 which uses the latest version of Highcharts.
Can you please try it and let me know if that fixes the issue?

Yesterday I find out that it was highcharts 4.2.3 itself broken. After dumping it to 4.2.1 everything become fine.
Just tested with 6.0.1 and  highcharts 4.2.3 - no errors.
thanks


Fix xr.where(..., keep_attrs=True) bug

[x] Closes #6444
[x] Tests added
[x] User visible changes (including notable bug fixes) are documented in whats-new.rst

Fixes a bug introduced by #4687 where passing a non-xarray object to x in xr.where(cond, x, y, keep_attrs=True) caused a failure. The keep_attrs callable passed to merge_attrs() tries to access the attributes of x which do not exist in this case. This fix just checks to make sure x has attributes, and if not will pass through keep_attrs=True.

Thanks @slevang ! Would it be possible to add a test?

if cond has attrs but x is not a xarray object this will take the attrs of cond (apply_ufunc with keep_attrs=True). I don't think that implict behavior is desirable – use keep_attrs="override" to get the attrs of cond – so maybe it is better to instead change the lambda to do a "getitem with a default of {}"?

Good point @keewis. This version should maintain the expected behavior in that case.

LGTM. Thanks @slevang


Can't run pod install from Example directory

Here's what I get when I try to install the dependencies.
$ pod install
Analyzing dependencies

CocoaPods 0.36.0.beta.2 is available.
To update use: `gem install cocoapods --pre`
[!] This is a test version we'd love you to try.

For more information see http://blog.cocoapods.org
and the CHANGELOG for this version http://git.io/BaH8pQ.

Fetching podspec for `JDFTooltips` from `../`
[!] Unable to satisfy the following requirements:

- `JDFTooltips (from `../`)` required by `Podfile`
- `JDFTooltips (from `../`)` required by `Podfile`
- `JDFTooltips (= 0.1.0)` required by `Podfile.lock`

Regardless, I've managed to integrate your library into my app, and was wondering if you had plans to support the following:

customization of tooltip views, primarily padding
showing the same tooltip more than once
animation customization

I could also try implementing these myself and submitting a pull request if you'd like.

Hi @haabaato,
It seems as though the podfile.lock was out of sync for the example project (it was referencing JDFTooltips v0.1.0, where it should have been v1.0. Deleting the Podfile.lock and running pod install again fixes it. I had also referenced the pod files in the workspace (meaning there were duplicate symbols), so I've fixed that as well (I'll push the fix now).
Great - I hope you find it useful. I have a few plans to expand the library, including customising the tooltips and animations. Re showing the same tooltip twice; you should be able to do that already (unless I'm not understanding exactly what you mean).
In any case, I plan to get around to adding new features at some point, but in the meantime feel free to implement them yourself and submit a pull request; that would be very much appreciated! You could open issues for stuff if you wanted.
Cheers,
Joe


Implement filters to products within a collection and a category

We should be able to filter product within a collection/category, e.g. set the sort order.

Blocked by https://github.com/tfoxy/graphene-django-optimizer/issues/23.

Hi @NyanKiyoshi any updates on this? I can't seem to find any clean workarounds for filtering products in a category/collection.

Hi! I didn't get time to work on this yet.


add spatial pyramid pooling 2d function

This PR adds a non-parameterized function which performs Spatial Pyramid Pooling (SPP). This function enables a network to accept input images of an arbitrary shape/size and generate a fixed-length feature vector regardless of the shape/size of feature maps in the next lower layer. The paper linked below shows that a network with SPP (SPP-net) boosts the accuracy of a variety of CNN for object recognition.
I tested spatial_pyramid_pooling_2d function as a pooling layer by replacing the last max_pooling_2d layer in LeNet architecture with SPP. I trained the network on MNIST dataset, and got the 99.9% accuracy. So I think it works fine.
Please see details about SPP in the paper:
"Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition"
http://arxiv.org/abs/1406.4729
Note that this function supports only MaxPooling2D as elemental pooling operator because AveragePooling2D does not support cover_all mode for now.
I also fixed some typos in documentations of max_pooling_2d and average_pooling_2d functions in this PR.

Great work! Would you add this function to docs/source/reference/functions.rst to add documents of this function the manual?

Thank you for a lot of helpful comments. I fixed all the points you commented on, so please check them again.

@mitmul I added comments which reflects your update. Please see to check them.

@delta2323 Thanks. I refined the codes again.

Great! LGTM. We can merge this function in the next minor release.

I added some comments on documents. I would appreciate you if you fix them. Sorry for additional order.

Please let me know if you do not have time to fix the code. We do it instead and make a PR to your branch.

@delta2323 I added some additional information to the documentation part. Please check it again. Thank you.

Thank you very much! I will check in detail later. But basically it seems OK.

LGTM :+1: Thank you for answering my reviews.


chore(poc): test actions-package-update GH action

Covers #668

:information_source: I created a fix PR on the repository of the GH action, because there is a weird behaviour on how to set the token for Ocktopit: taichi/actions-package-update#38.
It may be explain the error on our workflow, because after checking the token, the token user rights on the repository, and the use of this token on other repositories, there is no reason to have no right to push the code on this repository.

I suggest finding alternatives to using this action.
Although it updates dependencies automatically, it does not provide any information about the changelog content. This is a major piece of information that helps decide whether or not to update a dependency, especially when there are no automatic tests, as here.
Notice that dependabot recently introduced a way to group dependency update: https://github.blog/changelog/2023-06-30-grouped-version-updates-for-dependabot-public-beta/

Done in #1041

As nothing happening in taichi/actions-package-update#38, and we use now the beta version of dependabot group feature, I close this PR.
Be free to reopen it, if there is something new.


Implement Membership Privacy on a single point level

Do this on the ART classifier interface.
For a SINGLE point!

Included in one of other Issues.


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

Codecov Report

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

@@          Coverage Diff          @@
##           master   #501   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          41     41
=====================================
  Hits           41     41

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 50cf94f...a9a8046. Read the comment docs.

Coverage remained the same at 94.643% when pulling a9a8046ddac98e82888877a0f17d722ea2623458 on template-sync-1 into 50cf94f6089cc5463feae81ba6ae603b61c68c6f on master.


Happy Faces Detection using Computer Vision

Deep Learning Simplified Repository (Proposing new issue)
:red_circle: Project Title : Happy Faces Detection using Computer Vision
:red_circle: Aim : The aim is to detect the happy faces images from the dataset using computer vision and deep learning methods.
:red_circle: Dataset : https://www.kaggle.com/datasets/sarah1321/happy-dataset-for-computer-vision
:red_circle: Approach : Try to use 3-4 algorithms to implement the models and compare all the algorithms to find out the best fitted algorithm for the model by checking the accuracy scores. Also do not forget to do a exploratory data analysis before creating any model.

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name :
GitHub Profile Link :
Email ID :
Participant ID (if applicable):
Approach for this Project :
What is your participant role? (Mention the Open Source program)

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Hi @girish-07 can you use other models than VGG and ResNet?

Hi @abhisheks008 , will MobileNet work?

Cool! Can you implement VGG16, ResNet50, MobileNet and ENet? After that compare the accuracy scores to find out the best fitted model for this dataset. Will this be okay with you?

Yeah @abhisheks008 , I can do that

Cool! Assigned to you. You can start working on it @girish-07


Integrate default.yaml config with settings

defaults.yaml used to be the config for storing values used by the providers (LXC). But, this meant that an extra config was required to be loaded by each command issued to VNet-manager, which can be confusing.
Because the values of defaults.yaml where rather static it makes more sense to include them in the Python settings itself.
This means that there will be a change in how users can change these settings. If a user now wants to override something in the provider settings he/she can do the following;
# In the settings dir create dev.py
$ touch vnet_manager/settings/dev.py
# Set dev.py as the settings module
$ export SETTINGS_MODULE=vnet_manager.settings.dev

Now in dev.py, you can override the provider settings like so;
from .base import *

PROVIDERS["lxc"]["supported_operating_systems"].append("gentoo")

Though, actual changes should be made into a PR.

Codecov Report

Merging #20 (83d4710) into master (0dd6377) will decrease coverage by 0.18%.
The diff coverage is 90.47%.

@@            Coverage Diff             @@
##           master      #20      +/-   ##
==========================================
- Coverage   96.95%   96.77%   -0.19%
==========================================
  Files          42       42
  Lines        3188     3004     -184
==========================================
- Hits         3091     2907     -184
  Misses         97       97

Impacted Files
Coverage Δ

vnet_manager/config/validate.py
95.95% <ø> (-0.94%)
:arrow_down:

vnet_manager/operations/storage.py
26.66% <0.00%> (ø)

vnet_manager/settings/test.py
100.00% <ø> (ø)

vnet_manager/tests/config/test_validate.py
100.00% <ø> (ø)

vnet_manager/conf.py
94.28% <33.33%> (ø)

vnet_manager/actions/manager.py
94.87% <100.00%> (ø)

vnet_manager/config/config.py
100.00% <100.00%> (ø)

vnet_manager/environment/host.py
83.33% <100.00%> (+0.72%)
:arrow_up:

vnet_manager/environment/lxc.py
100.00% <100.00%> (ø)

vnet_manager/operations/machine.py
95.75% <100.00%> (ø)

... and 6 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #20 (83d4710) into master (0dd6377) will decrease coverage by 0.18%.
The diff coverage is 90.47%.

@@            Coverage Diff             @@
##           master      #20      +/-   ##
==========================================
- Coverage   96.95%   96.77%   -0.19%
==========================================
  Files          42       42
  Lines        3188     3004     -184
==========================================
- Hits         3091     2907     -184
  Misses         97       97

Impacted Files
Coverage Δ

vnet_manager/config/validate.py
95.95% <ø> (-0.94%)
:arrow_down:

vnet_manager/operations/storage.py
26.66% <0.00%> (ø)

vnet_manager/settings/test.py
100.00% <ø> (ø)

vnet_manager/tests/config/test_validate.py
100.00% <ø> (ø)

vnet_manager/conf.py
94.28% <33.33%> (ø)

vnet_manager/actions/manager.py
94.87% <100.00%> (ø)

vnet_manager/config/config.py
100.00% <100.00%> (ø)

vnet_manager/environment/host.py
83.33% <100.00%> (+0.72%)
:arrow_up:

vnet_manager/environment/lxc.py
100.00% <100.00%> (ø)

vnet_manager/operations/machine.py
95.75% <100.00%> (ø)

... and 6 more

Continue to review full report at Codecov.

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

I need to fix the trigger happy codecov :(

I need to fix the trigger happy codecov :(


Make Partitions accept a callable for partitions

cc @rjzamora thoughts here?
Two reasons for doing this: npartitions might change that's why we have to add the callable support
We have to get partitions in there early if we want to move to the end of our optimisation passes. Do you have a better idea of achieving this?

not needed anymore


About ActivityNet1.3 Point_labels

Thank for you great work!
However, I'm wondering about the ActivityNet1.3 point_labels file:
Why is its' start_frame 'and' stop_frame 'not integer but float type, and does 'point' provide the frame index ?

Thank you for your interest!
The start frame and end frame are calculated by time(s)*fps, so they are not necessarily integer values, and the point label is the frame index as you understand it.


ISSUE <IP_ADDRESS> : KOBman Dockerfile creation

Create a docker file for  KOBman

KOBman_docker first docker image
FROM ubuntu:18.04
MAINTAINER EtricKombat
Download and install a dependency
RUN apt-get update -y
RUN apt-get -qq -y install curl
RUN apt-get install curl -y
RUN apt-get install zip -y
RUN curl -L https://raw.githubusercontent.com/EtricKombat/KOBman/dist/dist/get.kobman.io | bash
####What to do when KOBman_docker starts as a container
CMD ["KOBman-Docker"]

@teenasusanvarghese , can ypu please suggest updated on the above listed code


Fix docs for masgn

There was a stray table cell in the masgn row which pushed everything below it off by a cell.

Good catch, thanks!


Feature request: tool_choice='none' for analysing available tools - but not using them

In my workflow I ask the LLM to analyze the available tools before using them. It is useful to pass the list of tools in the same way as I pass it when I want it to use them - otherwise I need to render the schemas as text or json in the prompt itself.
This would be compatible with the OpenAI API which allows for this.

Hi, thanks for providing this feedback. Are you seeing a clear improvement by asking Claude to analyze the tools instead of just using them? Unfortunately this is not a priority for us at the moment because we expect users to not pass in tools if no tool use is desired. I would suggest utilizing Chain of thought for this (incompatible with the tool_choice param) or putting the tools into the prompt itself as you mentioned.


Tool that generates a big page with all screens in all languages

Sometimes a screen looks totally wrong in a particular language, and we don't know about it before a user is kind enough to tell us instead of giving a 1-star review.
The Wikipedia iOS app is apparently using this: https://i.imgur.com/AowFwBI.gifv
It would be great if we had the same :-)

A free third-party service compatible with Git would probably be the easiest, if that exists.

This tool looks promising. https://github.com/thyrlian/ScreenshotsNanny
It should be possible to tweak it for taking screenshots in all languages.

Interesting! I do think automating this (via the ScreenshotsNanny tool) would be easier than requesting users to do it.

@nicolas-raoul Can you please describe little more detailed about this feature and context? Is it something related to stitching screenshot images?

@maskaravivek I looked at the link you posted. Is there any way to loop through all the available activities, and all the available languages? The tutorial given has manually done it for some activities. That's a little tedious in our case. I was unable to find a suitable method so far.

My team do a lot of automated testing across a whole host of different phones.  A tool we have used is Spoon as it distributes the tests to all connected devices and as part of the run takes screenshots.  Your code can also trigger screenshots in code where needed.
Spoon is designed to run either standalone or as part of your CI pipeline so there might be an opportunity to write a test in androidTest to be run using Spoon and have that integrate with Travis.  At worst, you could try running it locally.


tpcli edit doesn't work

tpcli --api-endpoint http://teampass.example.com/api/index.php --api-key xxxxxxxxxxxxxxxxxxxxxxx edit --id 31 --title test.tpcli --login root --password password --folder-id 18
Error: Label or Password or Folder ID is missing
hi there,
i've got no clue what i'm doing wrong here - the same works flawlessly with list, search and add, only edit doesn't want to work... and advice what i'm doing wrong here?
thanks in advance,
julu
@verdel - i've tried to reupload the function.php, but that doesn't fix the issue. currently running 2.1.27, could that be the issue?

Hi!
Unfortunately, this project was originally conceived to simplify the work with the password database in my main job. I have now changed jobs and no longer use teampass. I will try to find the time as quickly as possible to understand the reasons for your problem.

Hi!
Unfortunately, this project was originally conceived to simplify the work with the password database in my main job. I have now changed jobs and no longer use teampass. I will try to find the time as quickly as possible to understand the reasons for your problem.

hey, no problem at all, i know the drill... if i manage to decypher the issue from the code i'll gladly post it here...

hey, no problem at all, i know the drill... if i manage to decypher the issue from the code i'll gladly post it here...

I found that I didn't send some changes to the code to the repository. Try changing the entry in Teampass, after updating the teampass-cli. At least I managed to change the record now.

I found that I didn't send some changes to the code to the repository. Try changing the entry in Teampass, after updating the teampass-cli. At least I managed to change the record now.

works flawlessly, thanks a lot!

works flawlessly, thanks a lot!


crd-schema-check: allow new CRDs

If the 'git show BASE_REF' fails assume it is a net new CRD and should be fine.

pre-commit failures are relevant
bashate..................................................................Failed
- hook id: bashate
- exit code: 1
hack/crd-schema-checker.sh:20:1: E003 Indent not multiple of 4
hack/crd-schema-checker.sh:20:1: E003 Indent not multiple of 4
hack/crd-schema-checker.sh:20:1: E003 Indent not multiple of 4
3 bashate error(s) found

/test openstack-operator-build-deploy-kuttl


UI Toolset for tabris

This is a pretty broad request, but tabris would greatly benefit from a sophisticated UI library like https://docs.nativebase.io/Components.html. Having a toolset that eases general development is obviously valuable.

Thanks for the feedback. Tabris offers a similar list of Widgets. Please check the left sidebar here: https://tabrisjs.com/documentation/latest/
There are some ui components that are not yet available in Tabris.js but the library keeps on growing steadily.

Are there any particular features you would like to see in Tabris.js?

Closing as "stale".


fix bugs estimator has no energy source

This PR additionally fixes multiple bugs due to integration test to Kepler.

feature data is missing when there is no unit values such as in acpi platform energy
energy source field is missing from estimator PowerRequest
model path is set rapl to default which can be misleading.
cmd train supported only single energy source
initUrlKeyMap and estimatorKeyMap are not valid anymore. The model specification is now combination of output type and energy source.

Signed-off-by: Sunyanan Choochotkaew<EMAIL_ADDRESS>

This PR needs retest again after this PR https://github.com/sustainable-computing-io/kepler-model-db/pull/8 merged due to missing metadata issue.

unit test passed with model db changes.


Pie-chart not visible if in

If i use something like the following

	<pie-chart data="piedata" options="pieoptions"></pie-chart>

the pie isn't rendered.
However a div works perfectly fine. It isn't a CSS issue.

	<pie-chart data="piedata" options="pieoptions"></pie-chart>

divs and spans have a different default display attribute. Have you tried to fiddle with that ?

display:

block          - works
inline-block - works
inline           - does not work

However imho it shouldn't matter.
Anyways, great work :+1:


Error XMLHttpRequesterror:413 after setting up reverse proxy

First off thanks for your efforts to make this available. Secondly this may not fall into a bug issue because I can get the node.js server to work if I connect directly, but as it turns out when reaching it through my reverse Nginx proxy I get the error above when trying to save a change. I might add my brain is sort of mush after staying up most the night solving my USB encryption issue on my Rock64 single board computer running the whole enchilada. Google indicates a file size issue, but I don't know.

Are you saying that it works properly without Nginx? TiddlyServer should tell you why a 413 error occurred. Can you copy and paste the console output from the node server command?


GZIP update seed and remove USM flag

Update gzip, change seed and remove USM flag.

The test failures are expected failures:

Linux fails because the test machine is Ubuntu 20.4, which is not yet supported for FPGA compile
Windows fails because the test machine runs beta09, but GZIP requires features new to beta10